Installation
Installation de Java
Mise en place des outils pour le développement
Retour sur les bases et fonctionnement dans la JVM
La syntaxe :
Conventions de codage
Les variables
Fonctionnement en mémoire
Le typage
Les opérateurs
Les structures de contrôle
Les fonctions / méthodes
Fonctionnement en mémoire
Les chaînes de caractères
Fonctionnement en mémoire
La programmation orientée objet
Les classes : 1
Fonctionnement en mémoire
Les méthodes equals, toString, hashCode
Bonnes pratiques
Transtypage
Les classes : 2
Héritage
Interfaces
Classes abstraites
Bonnes pratiques pour structurer son code
Structurer son code
Encapsulation
Polymorphisme
Principe SOLID
La programmation orientée objet avancée
Les génériques
Les classes internes
Les classes anonymes
Les expressions lambdas
Les « Stream »
L’Introspection et la Réflexion
Chargement dynamique des classes et méthodes
Informations sur les classes
Modifications des visibilités
Le SecurityManager
Annotations
Création
Mise en œuvre
Les threads
La parallélisation des tâches
Fonctionnement en mémoire
Synchroniser les accès en parallèles
Sémaphore
Synchronized
Lock
Fork/Join
Les executors
API NIO et NIO2
Le support des liens physiques et symboliques
La gestion des attributs sur les fichiers des systèmes Dos et POSIX
L'API WatchService
Parcourir un répertoire
Les channels asynchrones
La copie par stream
Fonctionnement de la JVM
Gestion de la mémoire
Gestion du « garbage collector »
Configuration de la JVM
Le chargement des classes
Gestion des performances