CodeGym
Promotion
Apprentissage
Cours
Exercices
Sondages & Quiz
Jeux
Aide
Planning
Communauté
Utilisateurs
Forum
Chat
Articles
Témoignages de réussite
Activité
Avis
Abonnements
Thème clair

Leçons

  • Avis
  • À propos de nous
Commencer
Commencer à apprendre
Commencez à apprendre maintenant
  • Mes progrès
  • Cours
  • Carte des quêtes
  • Leçons
  • Compression et profilage de la sérialisation

    JAVA 25 SELF
    Niveau 45,Leçon 4
    Comment réduire la taille et accélérer la sérialisation des objets en Java : exclure les champs superflus avec transient, prendre un contrôle total via Externalizable, appliquer une compression en flux ( GZIPOutputStream, ZipOutputStream), accélérer les E/S grâce au buffering ( BufferedOutputStream, BufferedInputStream) et à la copie rapide via FileChannel. transferTo. Pour évaluer les performances, nous utilisons à la fois des mesures rapides avec System. nanoTime(), et des microbenchmarks fiables avec JMH. Nous terminerons par une mini‑expérience et l’analyse des erreurs typiques.
    Disponible
  • Fondamentaux de JSON : structure, syntaxe, avantages

    JAVA 25 SELF
    Niveau 46,Leçon 0
    Introduction concise et moderne au format d’échange de données JSON : ce que c’est et pourquoi il est devenu la norme de facto pour les REST API, structures de base — objets { } et tableaux [ ], types autorisés (chaînes "...", nombres, booléens true/ false, null), imbrication, comparaison avec XML, correspondances JSON ↔ Java (collections Map<K, V>, HashMap<K, V>). Nous analysons des exemples pratiques et des erreurs typiques : guillemets simples, virgules en trop, undefined, nombres avec zéros initiaux.
    Disponible
  • Jackson — lecture et écriture de JSON, annotations

    JAVA 25 SELF
    Niveau 46,Leçon 1
    Jackson est la norme de facto pour travailler avec JSON en Java : des opérations simples de sérialisation et de désérialisation via ObjectMapper jusqu’au réglage fin avec les annotations @JsonProperty, @JsonIgnore, @JsonInclude, @JsonFormat. Dans ce cours, nous verrons l’intégration ( jackson-databind), la lecture et l’écriture d’objets et de collections, le pretty‑printing, la gestion des dates et les erreurs typiques, y compris les génériques avec TypeReference et les exigences pour les POJO (constructeur sans paramètre, getters/setters).
    Disponible
  • Gson — sérialisation et désérialisation, configuration

    JAVA 25 SELF
    Niveau 46,Leçon 2
    Dans ce cours, nous étudions la bibliothèque Google Gson : démarrage rapide avec les méthodes toJson/ fromJson, désérialisation des collections via TypeToken<>, configuration flexible avec GsonBuilder ( setPrettyPrinting, serializeNulls, setDateFormat). Nous aborderons les annotations @SerializedName, @Expose, la gestion de versions @Since/ @Until, des adaptateurs personnalisés via TypeAdapter et registerTypeAdapter, puis nous comparerons avec Jackson et verrons les erreurs typiques.
    Disponible
  • Travailler avec des structures dynamiques : Map, List, JsonNode

    JAVA 25 SELF
    Niveau 46,Leçon 3
    Lorsque la structure JSON est inconnue à l’avance ou change fréquemment, il est plus pratique de travailler non pas avec des classes Java rigides, mais avec des conteneurs universels : Map, List et des arbres JSON. Dans ce cours, nous expliquons comment, avec ObjectMapper, lire des données dans Map<String, Object> et List, comment parcourir l’arbre en toute sécurité via JsonNode et ses méthodes get/ path/ asText(), ainsi qu’une alternative avec Gson utilisant JsonElement, JsonObject, JsonArray. Nous terminons par une mise en pratique d’extraction de configuration et l’analyse d’erreurs typiques.
    Disponible
  • Validation JSON : JSON Schema, erreurs de validation

    JAVA 25 SELF
    Niveau 46,Leçon 4
    Pourquoi et comment vérifier les données d’entrée au format JSON avant la désérialisation : nous examinons le contrat de données via JSON Schema (clés type, properties, required, format), nous validons en Java avec la bibliothèque everit-org/json-schema (chargement du schéma dans Schema, appel de validate), nous gérons correctement ValidationException et produisons des messages d’erreur clairs pour les utilisateurs et les API.
    Disponible
  • Bases de XML et des espaces de noms

    JAVA 25 SELF
    Niveau 47,Leçon 0
    Introduction courte et pratique à XML : structure de base (éléments, attributs, nœuds de texte, commentaires, CDATA), constitution du prologue, et surtout — à quoi servent les espaces de noms et comment les déclarer et les appliquer via les attributs xmlns et xmlns:prefix. Nous étudierons les préfixes, l’espace par défaut ( xmlns= "URI"), le mélange de différents « dictionnaires » dans un même document et les erreurs d’analyse typiques.
    Disponible
  • Travail avec DOM et SAX : analyse XML

    JAVA 25 SELF
    Niveau 47,Leçon 1
    Dans cette leçon, nous examinons deux approches classiques pour analyser du XML : l’approche arborescente DOM et l’approche événementielle SAX. Vous apprendrez à lire et à modifier des documents via l’arbre ( Document, Element, NodeList) et à traiter de gros fichiers en flux avec des gestionnaires d’événements ( SAXParser, DefaultHandler, startElement/ characters/ endElement). Nous montrerons les avantages et les inconvénients de chaque approche, des exemples pratiques et passerons en revue les erreurs typiques (mémoire, découpage du texte dans characters, tentatives de modification de XML avec SAX).
    Disponible
  • StAX (Streaming API for XML) — analyse en flux

    JAVA 25 SELF
    Niveau 47,Leçon 2
    Nous abordons l’analyse XML en flux avec StAX : en quoi le modèle pull diffère de l’approche push de SAX, comment créer un parseur via XMLInputFactory et lire les événements depuis XMLStreamReader dans une boucle avec des appels à reader. next(), quels sont les types d’événements ( START_ELEMENT, CHARACTERS, END_ELEMENT, END_DOCUMENT) et quand StAX est préférable à DOM/ SAX. En bonus : un tableau comparatif des approches, un diagramme Mermaid et une analyse des erreurs typiques (fuites de flux, imbrication des éléments, exceptions XMLStreamException, IOException).
    Disponible
  • Manipulation de XML avec JAXB : bases et annotations

    JAVA 25 SELF
    Niveau 47,Leçon 3
    Comment utiliser JAXB (Jakarta XML Binding) pour convertir des objets Java en XML et inversement : annotations clés @XmlRootElement, @XmlElement, @XmlAttribute, @XmlType, @XmlTransient ; classes de base JAXBContext, Marshaller, Unmarshaller ; configuration du formatage via la propriété Marshaller.JAXB_FORMATTED_OUTPUT. Nous examinons les dépendances Maven pour Java 11+ ( jakarta.xml.bind-api, jaxb-runtime), le travail avec les collections et les objets imbriqués, la gestion de l’ordre des éléments ( propOrder), l’exclusion de champs et les erreurs typiques.
    Disponible
  • Configuration de la sérialisation XML : adaptateurs personnalisés

    JAVA 25 SELF
    Niveau 47,Leçon 4
    Comment apprendre à JAXB à sérialiser des types « non standard » et à présenter les données au format souhaité : nous utilisons l’annotation @XmlJavaTypeAdapter et écrivons nos propres adaptateurs basés sur XmlAdapter<ValueType, BoundType>. Nous verrons le formatage des dates ( LocalDate → "dd.MM.yyyy"), des nombres ( BigDecimal), le travail avec les collections, le passage des valeurs dans des attributs via @XmlAttribute, des éléments via @XmlElement et l’exclusion de champs @XmlTransient. Nous nous exercerons à la sérialisation/désérialisation avec Marshaller/ Unmarshaller et passerons en revue les erreurs courantes.
    Disponible
  • Expressions lambda: syntaxe et portée

    JAVA 25 SELF
    Niveau 48,Leçon 0
    Révision et approfondissement des expressions lambda en Java: syntaxe (paramètres, flèche ->, corps), formes courtes sans parenthèses et return, lien avec les interfaces fonctionnelles ( Comparator, Runnable, Consumer), exemples courants avec les listes, les flux et la Stream API. Nous abordons la portée et la règle « effectivement final », la différence de this entre les lambdas et les classes anonymes, ainsi que les erreurs typiques et la manière de les éviter.
    Disponible
  • 1
  • ...
  • 20
  • 21
  • 22
  • 23
  • 24
  • ...
  • 30
Apprendre
  • Inscription
  • Cours Java
  • Aide pour les exercices
  • Tarifs
  • Syntaxe Java
Communauté
  • Utilisateurs
  • Articles
  • Forum
  • Chat
  • Témoignages de réussite
  • Activité
  • Programme d'affiliation
Entreprise
  • À propos de nous
  • Contacts
  • Avis
  • Espace presse
  • CodeGym pour l'éducation
  • FAQ
  • Support
CodeGymCodeGym est un cours en ligne pour apprendre la programmation Java depuis le début. Ce cours est un moyen idéal pour maîtriser Java pour les débutants. Il contient plus de 1200 exercices avec vérification instantanée et un ensemble essentiel de notions fondamentales de Java. Pour vous aider à réussir, nous avons mis en place des fonctionnalités motivantes : quiz, projets de codage, contenu sur l'apprentissage efficace, et une rubrique sur la carrière de développeur Java.
Suivez-nous
Langue de l'interface
English Deutsch Español हिन्दी
Français
Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Les programmeurs se forment, ils ne naissent pas" © 2026 CodeGym
MastercardVisa
"Les programmeurs se forment, ils ne naissent pas" © 2026 CodeGym