L'idée de départ de ce document était de prendre des notes relatives à mes premiers essais avec Java en 1996. Ces notes ont tellement grossi que j'ai décidé de les formaliser un peu plus et de les diffuser sur Internet d'abord sous la forme d'articles puis rassemblées pour former le présent ouvrage.
Aujourd'hui, celui-ci est composé de 18 grandes parties :
Chacune de ces parties est composée de plusieurs chapitres dont voici la liste complète :
Je souhaiterais l'enrichir pour qu'il couvre un maximum de sujets autour du développement avec les technologies relatives à Java. Ce souhait est ambitieux car les API de Java et open source sont très riches et ne cessent de s'enrichir au fil des versions et des années.
Dans chaque chapitre, les classes et les membres des classes décrits ne le sont que partiellement : le but n'est pas de remplacer la documentation d'une API mais de faciliter ses premières mises en oeuvre. Ainsi pour une description complète de chaque classe, il faut consulter la documentation fournie par Sun/Oracle au format HTML pour les API du JDK et la documentation fournie par les fournisseurs respectifs des API tiers.
Je suis ouvert à toutes réactions ou suggestions concernant ce document notamment le signalement des erreurs, les points à éclaircir, les sujets à ajouter, etc. ... N'hésitez pas à me contacter : jean-michel.doudoux@wanadoo.fr
La dernière version publiée de ce document est disponible aux formats HTML et PDF sur mon site personnel :
http://www.jmdoudoux.fr/java/
Il est aussi disponible en mirroir sur le site developpez.com à l'url :
http://jmdoudoux.developpez.com/cours/developpons/java/
Ce manuel est fourni en l'état, sans aucune garantie. L'auteur ne peut être tenu pour responsable des éventuels dommages causés par l'utilisation des informations fournies dans ce document.
La version PDF de ce document est réalisée grâce à l'outil freeware HTMLDOC version 1.8.23.
La version sur mon site perso utilise deux très bons outils open source :
Je souhaite remercier les personnes qui m'ont apporté leur soutien au travers de courriers électroniques de remerciements, de félicitations ou d'encouragements.
Je tiens aussi particulièrement à exprimer ma gratitude aux personnes qui m'ont fait part de correctifs ou d'idées d'évolutions : ainsi pour leurs actions, je veux particulièrement remercier Vincent Brabant, Thierry Durand, David Riou et surtout François Vancata.
Copyright (C) 1999-2019 DOUDOUX Jean-Michel
Vous pouvez copier, redistribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU, Version 1.1 ou toute autre version ultérieure publiée par la Free Software Foundation; les Sections Invariantes étant constituées du chapitre Préambule, aucun Texte de Première de Couverture, et aucun Texte de Quatrième de Couverture. Une copie de la licence est incluse dans la section GNU Free Documentation Licence de ce document.
La version la plus récente de cette licence est disponible à l'adresse : http://www.gnu.org/licenses/fdl.phpl.
Sun, Sun Microsystems, le logo Sun et Java sont des marques déposées de Sun Microsystems Inc jusqu'en décembre 2009 puis d'Oracle à partir de janvier 2010.
Les autres marques et les noms de produits cités dans ce document sont la propriété de leur éditeur respectif.
Version | Date | Evolutions |
0.10 |
15/01/2001 |
brouillon : 1ere version diffusée sur le web. |
0.20 |
11/03/2001 |
ajout des chapitres JSP et sérialisation, des informations sur le JDK et son installation, corrections diverses. |
0.30 |
10/05/2001 |
ajout des chapitres flux, beans et outils du JDK, corrections diverses. |
0.40 |
10/11/2001 |
réorganisation des chapitres et remise en page du document au format HTML (1 page par chapitre) pour faciliter la maintenance ajout des chapitres : collections, XML, JMS, début des chapitres Swing et EJB séparation du chapitre AWT en trois chapitres. |
0.50 |
31/04/2002 |
séparation du document en trois parties ajout des chapitres : logging, JNDI, Java mail, services web, outils du JDK, outils lires et commerciaux, Java et UML, motifs de conception compléments ajoutés aux chapitres : JDBC, Javadoc, interaction avec le réseau, Java et XML, bibliothèques de classes |
0.60 |
23/12/2002 |
ajout des chapitres : JSTL, JDO, Ant, les frameworks ajout des sections : Java et MySQL, les classes internes, les expressions régulières, dom4j compléments ajoutés aux chapitres : JNDI, design patterns, J2EE, EJB |
0.65 |
05/04/2003 |
ajout d'un index sous la forme d'un arbre hiérarchique affiché dans un frame de la version HTML ajout des sections : DOM, JAXB, bibliothèques de tags personnalisés, package .war compléments ajoutés aux chapitres : EJB, réseau, services web |
0.70 |
05/07/2003 |
ajout de la partie sur le développement d'applications mobiles contenant les chapitres : J2ME, CLDC, MIDP, CDC, Personal Profile, les autres technologies ajout des chapitres : le multitâche, les frameworks de tests, la sécurité, les frameworks pour les app web compléments ajoutés aux chapitres : JDBC, JSP, servlets, interaction avec le réseau application d'une feuille de styles CSS pour la version HTML corrections et ajouts divers (652 pages) |
0.75 |
21/03/2004 |
ajout des chapitres : le développement d'interfaces avec SWT, Java Web Start, JNI compléments ajoutés aux chapitres : GCJ, JDO, nombreuses corrections et ajouts divers notamment dans les premiers chapitres (737 pages) |
0.80 0.80.1 0.80.2 |
29/06/2004 15/10/2004 02/11/2004 |
ajout des chapitres : le JDK 1.5, des bibliothèques open source, des outils open source, Maven et d'autres solutions de mapping objet-relationnel ajout des sections : Installation J2SE 1.4.2 sous Windows, J2EE 1.4 SDK, J2ME WTK 2.1 compléments ajoutés aux chapitres : Ant, JDBC, Swing, Java et UML, MIDP, J2ME, JSP, JDO nombreuses corrections et ajouts divers (831 pages) |
0.85 |
27/11/2005 |
ajout du chapitre : Java Server Faces ajout des sections : Java updates, le composant JTree nombreuses corrections et ajouts divers (922 pages) |
0.90 |
11/09/2006 |
ajout des chapitres : Ajax, Frameworks, Struts compléments ajoutés aux chapitres : Javadoc, JNDI, Design pattern (façade, fabrique, fabrique abstraite), JFace nombreuses corrections et ajouts divers (1092 pages) |
0.95 0.95.1 0.95.2 |
18/11/2007 12/06/2008 01/11/2008 |
ajout des parties : utilisation de documents XML, l'Accès aux bases de données, développement d'applications web, concevoir et développer des applications ajout des chapitres : Scripting, persistance des objets, StAX, JPA, Tomcat compléments ajoutés aux chapitres : Java SE 6, JAXB 2.0, Java DB, Java EE 5, JMS 1.1, OpenJMS, les menus avec Swing, le design pattern décorateur, Rowset nombreuses corrections et ajouts divers (1305 pages) |
1.00 |
16/03/2009 |
ajout des parties : la JVM et le développement d'applications RIA/RDA ajout des chapitres : annotations, décompilation et obfuscation, génération de documents, GWT, JVM, la gestion de la mémoire, la communauté Java, les applications RIA/RDA réécriture complète des chapitres : les modèles de documents (JDOM), les techniques de bases, Logging (log4j), JUnit compléments ajoutés aux chapitres : la gestion des exceptions, JDBC (performances), les fonctions mathématiques (BigDecimal), JDBC 3.0, les framework de tests, Apache POI, iText nombreuses corrections et ajouts divers (1672 pages) |
1.10 |
04/08/2009 |
ajout des chapitres : JMX, EJB 3 et l'encodage des caractères compléments ajoutés aux chapitres : J2ME /Java ME corrections et ajouts divers (1820 pages) |
1.20 |
29/10/2009 |
ajout du chapitre : les objets de type mock ajout de la section : Java 6 Update compléments ajoutés aux chapitres : les frameworks de tests, JUnit, GWT et RIA nombreuses corrections et ajouts divers (1888 pages) |
1.30 |
27/03/2010 |
ajout des chapitres : la validation de données, EJB 3.1 ajout de la section : Java EE 6 réécriture du chapitre : les services web de type Soap nombreuses corrections et ajouts divers (2035 pages) |
1.40 |
08/08/2010 |
ajout du chapitre : Terracotta ajout de la section : Hibernate (les relations 1/1) réécriture de la section : les énumérations nombreuses corrections et ajouts divers (2105 pages) |
1.50 |
30/12/2010 |
ajout des chapitres : l'utilisation des dates, les plate-formes Java et .Net et Java et C# ajout de la section : l'API Criteria d'Hibernate réécriture de la section : le design pattern Singleton nombreuses corrections et ajouts divers (2198 pages) |
1.60 |
11/09/2011 |
ajout de la partie : le développement d'applications avec Spring ajout des chapitres : Spring, Spring Core, la gestion des transactions avec Spring, Spring et JMS ajout de la section : Hibernate HQL, Service Provider Interface nombreuses corrections et ajouts divers (2330 pages) |
1.70 |
05/03/2012 |
ajout des chapitres : Java 7 le projet Coin, les techniques de développement spécifiques à Java, la mise en oeuvre de l'AOP avec Spring mise à jour du chapitre : RMI compléments ajoutés relatifs à Java 7 très nombreuses corrections et ajouts divers (2402 pages, 100 chapitres) |
1.80 |
14/10/2012 |
ajout du chapitre : NIO 2 ajout des sections : les caches d'Hibernate, JRadioButton mise à jour de la section : la création dynamique d'objets nombreuses corrections et ajouts divers (2507 pages, 101 chapitres) |
1.90 |
25/02/2013 |
ajout du chapitre : Spring et JMX mise à jour du chapitre : Logging ajout des sections : Joda Time, VisualVM et JVM 32/64 bits très nombreuses corrections et ajouts divers (2599 pages, 102 chapitres) |
2.00 |
19/05/2014 |
La version du quinzième anniversaire ajout des chapitres : JSON, Json-P, Gson, Websockets, l'API Websocket, JCA, JCE, AOP, Apache Commons réécriture des chapitres : les collections, la sérialisation ajout des sections : logging (NDC/MDC), parcours du DOM, ActiveMQBrowser, Maven 2, Java SE 8 très nombreuses corrections et ajouts divers (3004 pages, 111 chapitres) |
2.10 |
19/03/2016 |
ajout du chapitre : la planification de tâches, les expressions lambdas, les threads, l'association de données à des threads, le framework executor, la gestion de la concurrence ajout des sections : l'invocation dynamique d'une méthode, l'API Reflection et le SecurityManager, l'utilisation de l'API Reflection sur les annotations, le clonage d'un objet, l'API Date-Time, le mapping de l'héritage de classes (ORM, JPA, Hibernate), les méthodes par défaut, l'héritage de méthodes statiques, les outils de génération de code Hibernate Corrections et ajouts divers (3413 pages, 117 chapitres) |
2.20 |
06/01/2019 |
ajout des chapitres : JUnit 5, JSON-B, l'API Stream Corrections et ajouts divers (3623 pages, 120 chapitres) |