1. Domaines fonctionnels
1.1. Santé
1.2. Finance, Banque, Assurance
1.3. Transports
1.4. Energie
1.5. Industrie
1.6. Télécom
1.7. Education
2. Domaines Techniques
2.1. Base de données
2.1.1. Procédure Stockées
2.1.2. Communication avec la BDD
2.1.2.1. JDBC pour le SQL
2.1.2.2. Driver Natif pour le NoSQL
2.2. Processus Métiers
2.3. Couche de Services
2.3.1. SOAP
2.3.2. REST
2.4. IHM
2.4.1. Standalone
2.4.1.1. Swing
2.4.1.1.1. Legacy
2.4.1.2. JavaFX
2.4.2. Mobile
2.4.2.1. Android (langage mais pas la plateforme)
2.4.3. Web
2.4.3.1. Applet
2.4.3.1.1. Abandonné
2.4.3.2. GWT
2.4.3.2.1. Legacy
3. Versions
3.1. Conception entre 90 et 95
3.2. Début Java 2 en 1998
3.3. Versions avant Java 7 (2011) sont obsolètes
3.4. Java 8 (2014)
3.4.1. Beaucoup de changement API
3.5. Java 9 (2017)
3.5.1. Changement modèle release
3.5.1.1. Tous les 6 mois (mars et septembre)
4. Définitions
4.1. JDK
4.1.1. Java Development Kit
4.1.1.1. Pour le développement
4.2. Java SE
4.2.1. Java Standard Edition
4.2.1.1. API de base
4.3. Java EE
4.3.1. Java Enterprise Edition
4.3.1.1. API standard évoluées pour application d'entreprise
4.4. Jakarta EE
4.4.1. Gouvernance de Java EE par Fondation Open Source Eclipse depuis 2017
5. Langage
5.1. Syntaxe "C like"
5.1.1. Utilisation d'accolades pour les blocs
5.2. "Write once run everywhere"
5.2.1. Le binaire Java est indépendant de la machine et de l'OS
6. Cycle de vie
6.1. Ecrit
6.1.1. Fichier .java en UTF8
6.2. Compilé
6.2.1. Fichier .class en bytecode
6.2.2. Par le compilateur du JDK
6.3. Exécuté
6.3.1. Par la machine virtuel Java
6.3.1.1. Une version par OS supporté
6.3.1.2. Dans le JRE