IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Développons en Java v 2.20   Copyright (C) 1999-2021 Jean-Michel DOUDOUX.   
[ Précédent ] [ Sommaire ] [ Suivant ] [ Télécharger ]      [ Accueil ] [ Commentez ]


 

Préambule

 

A propos de ce document

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 :

  1. Les bases du langage Java
  2. Les API de base
  3. Les API avancées
  4. La programmation parallèle et concurrente
  5. Le développement des interfaces graphiques
  6. L'utilisation de documents XML et JSON
  7. L'accès aux bases de données
  8. La machine virtuelle Java (JVM)
  9. Le développement d'applications d'entreprises
  10. Le développement d'applications web
  11. Le développement d'applications RIA / RDA
  12. Le développement d'applications avec Spring
  13. Les outils pour le développement
  14. La conception et le développer des applications
  15. Les tests automatisés
  16. Java et le monde informatique
  17. Le développement d'applications mobiles
  18. Annexes

Chacune de ces parties est composée de plusieurs chapitres dont voici la liste complète :

  • Préambule
  • Présentation de Java
  • Les notions et techniques de base en Java
  • La syntaxe et les éléments de bases de Java
  • POO avec Java
  • Les packages de base
  • Les fonctions mathématiques
  • La gestion des exceptions
  • J2SE 5.0 (JDK 1.5 : nom de code Tiger)
  • Les annotations
  • Java 7, le projet Coin
  • Les expressions lambda
  • Les collections
  • Les flux d'entrée/sortie
  • NIO 2
  • La sérialisation
  • L'interaction avec le réseau
  • L'internationalisation
  • Les composants Java beans
  • Le logging
  • L'API Stream
  • La gestion dynamique des objets et l'introspection
  • L'appel de méthodes distantes : RMI
  • La sécurité
  • JCA (Java Cryptography Architecture)
  • JCE (Java Cryptography Extension)
  • JNI (Java Native Interface)
  • JNDI (Java Naming and Directory Interface)
  • Le scripting
  • JMX (Java Management Extensions)
  • Le multitâche
  • Les threads
  • L'association de données à des threads
  • Le framework Executor
  • La gestion des accès concurrents
  • Le graphisme en Java
  • Les éléments d'interfaces graphiques de l'AWT
  • La création d'interfaces graphiques avec AWT
  • L'interception des actions de l'utilisateur
  • Le développement d'interfaces graphiques avec SWING
  • Le développement d'interfaces graphiques avec SWT
  • JFace
  • Java et XML
  • SAX (Simple API for XML)
  • DOM (Document Object Model)
  • XSLT (Extensible Stylesheet Language Transformations)
  • Les modèles de documents
  • JAXB (Java Architecture for XML Binding)
  • StAX (Streaming Api for XML)
  • Json
  • Gson
  • JSON-P
  • JSON-B
  • La persistance des objets
  • JDBC (Java DataBase Connectivity)
  • JDO (Java Data Object)
  • Hibernate
  • JPA (Java Persistence API)
  • La JVM (Java Virtual Machine)
  • La gestion de la mémoire
  • La décompilation et l'obfuscation
  • Programmation orientée aspects (AOP)
  • Terracotta
  • Java 2 Entreprise Edition
  • JavaMail
  • JMS (Java Message Service)
  • Les EJB (Entreprise Java Bean)
  • Les EJB 3
  • Les EJB 3.1
  • Les services web de type Soap
  • Les Websockets
  • L'API Websocket
  • Les servlets
  • Les JSP (Java Server Pages)
  • JSTL (Java server page Standard Tag Library)
  • Struts
  • JSF (Java Server Faces)
  • D'autres frameworks pour les applications web
  • Les applications riches de type RIA et RDA
  • Les applets en java
  • Java Web Start (JWS)
  • Ajax
  • GWT (Google Web Toolkit)
  • Spring
  • Spring Core
  • Spring et AOP
  • La gestion des transactions avec Spring
  • Spring et JMS
  • Spring et JMX
  • Les outils du J.D.K.
  • JavaDoc
  • Les outils libres et commerciaux
  • Ant
  • Maven
  • Tomcat
  • Des outils open source
  • Java et UML
  • Les motifs de conception (design patterns)
  • Des normes de développement
  • Les techniques de développement spécifiques à Java
  • L'encodage des caractères
  • Les frameworks
  • La génération de documents
  • La validation des données
  • L'utilisation des dates
  • La planification de tâches
  • Des bibliothèques open source
  • Apache Commons
  • Les frameworks de tests
  • JUnit
  • JUnit 5
  • Les objets de type mock
  • La communauté Java
  • Les plate-formes Java et .Net
  • Java et C#
  • J2ME
  • CLDC
  • MIDP
  • CDC
  • Les profils du CDC
  • Les autres technologies

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 :

 

Remerciements

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.

 

Notes de licence

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.

 

Marques déposées

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.

 

Historique des versions

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)

 


Développons en Java v 2.20   Copyright (C) 1999-2021 Jean-Michel DOUDOUX.   
[ Précédent ] [ Sommaire ] [ Suivant ] [ Télécharger ]      [ Accueil ] [ Commentez ]