Acquérir une compréhension solide des bases de Java, tout en intégrant les évolutions majeures des versions Java 8 à 21, dans le but de préparer efficacement l’apprentissage des frameworks comme Spring Boot.
Détails
- 6 Sections
- 55 Lessons
- 10 Weeks
Expand all sectionsCollapse all sections
- Introduction à Java et à son écosystèmeComprendre le contexte historique de Java, les composants de base de son écosystème et leur rôle dans le cycle de développement.6
- 1.1Histoire de Java et ses versions majeures
- 1.2La JVM : rôle, fonctionnement et portabilité
- 1.3Différences entre JDK, JRE et JVM
- 1.4Outils fournis avec le JDK (javac, java, javadoc, etc.)
- 1.5Premier programme Java : structure, compilation, exécution
- 1.6Installation et configuration d’un environnement Java moderne (JDK 21 + IDEs)
- Syntaxe de base et types fondamentauxMaîtriser la syntaxe essentielle de Java et les concepts de base pour écrire du code robuste.7
- 2.1Structure d’un programme Java
- 2.2Types primitifs (int, float, boolean, char, etc.)
- 2.3Variables, constantes, opérateurs
- 2.4Structures de contrôle (if, switch, for, while, do-while)
- 2.5Tableaux unidimensionnels et multidimensionnels
- 2.6Introduction aux chaînes de caractères (String, StringBuilder)
- 2.7Portée des variables et conventions de nommage
- Programmation orientée objet (POO) avec JavaAssimiler les piliers de la POO avec leur mise en œuvre concrète en Java.7
- 3.1Classes et objets : définition, instanciation, attributs et méthodes
- 3.2Constructeurs et surcharge
- 3.3Encapsulation et modificateurs d’accès
- 3.4Héritage : superclasse et sous-classes
- 3.5Polymorphisme : surcharge et redéfinition (override)
- 3.6Interfaces, classes abstraites, classes internes
- 3.7Introduction à la Conception Orientée Objet : responsabilité unique, séparation des préoccupations
- Les nouveautés de Java 8 à Java 23Découvrir, comprendre et mettre en pratique les évolutions majeures du langage Java (des versions 8 à 23), afin d’écrire un code plus lisible, fonctionnel, performant et moderne. Chaque leçon introduit une nouveauté, explique son utilité, sa syntaxe, et propose une mise en pratique concrète.24
- 4.1Les expressions Lambda (Java 8)
- 4.2Les interfaces fonctionnelles et l’API java.util.function (Java 8)
- 4.3Le Stream API : map, filter, collect, reduce (Java 8)
- 4.4L’objet Optional : éviter les NullPointerException proprement (Java 8)
- 4.5Le système de modules JPMS (module-info.java) (Java 9)
- 4.6var et l’inférence de type (Java 10)
- 4.7Méthodes utilitaires de la classe String : isBlank(), lines(), strip(), repeat() (Java 11)
- 4.8switch amélioré avec yield (Java 12+)
- 4.9Text Blocks pour la manipulation de texte multi-ligne (Java 13+)
- 4.10Les Records : immutabilité simple pour les POJO (Java 14+)
- 4.11Pattern Matching avec instanceof (Java 14+)
- 4.12Les Sealed Classes : restreindre l’héritage (Java 15 → stable Java 17)
- 4.13Pattern Matching dans switch (Java 17+)
- 4.14Code Snippets dans la documentation avec @snippet (Java 18)
- 4.15Foreign Function & Memory API (FFM) (Java 19 → stable Java 22)
- 4.16Les Threads virtuels (Virtual Threads – Project Loom) (Java 21)
- 4.17Scoped Values : isolation de données entre threads (Java 21+)
- 4.18Pattern Matching pour switch (stable) (Java 22)
- 4.19Record Patterns : déstructuration dans if / switch (Java 22)
- 4.20String Templates : concaténation typée et sécurisée (Java 22 → Java 23)
- 4.21Stream Gatherers : transformation avancée des flux (Java 22 → Java 23)
- 4.22Améliorations et stabilisation des Scoped Values (Java 23)
- 4.23Stabilisation des String Templates (Java 23)
- 4.24Stabilisation des Stream Gatherers (Java 23)
- Collections et GénériquesMaîtriser les collections Java pour gérer efficacement les structures de données, et comprendre la puissance des génériques.6
- 5.1Les interfaces principales : List, Set, Map, Queue
- 5.2Implémentations courantes : ArrayList, HashSet, HashMap, etc.
- 5.3Parcours des collections (for-each, iterators, streams)
- 5.4Génériques : syntaxe, type safety, wildcards
- 5.5Comparaison entre tableau et collection
- 5.6Cas d’usage : tri, recherche, filtrage avec Collections
- Introduction à la programmation multithreadéeComprendre les fondements de la programmation concurrente avec les threads.5