Un livre de Wikilivres. Une version à jour et éditable de ce livre est disponib
Un livre de Wikilivres. Une version à jour et éditable de ce livre est disponible sur Wikilivres, une bibliothèque de livres pédagogiques, à l'URL : http://fr.wikibooks.org/wiki/Programmation_Java Vous avez la permission de copier, distribuer et/ou modifier ce document selon les termes de la Licence de documentation libre GNU, version 1.2 ou plus récente publiée par la Free Software Foundation ; sans sections inaltérables, sans texte de première page de couverture et sans Texte de dernière page de couverture. Une copie de cette licence est inclue dans l'annexe nommée « Licence de documentation libre GNU ». Programmation Java/V ersion imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_Java/V ersio... 1 sur 142 24/01/2016 01:22 Introduction Introduction au langage Java Le 23 mai 1995, Sun Microsystems présentait une nouvelle plateforme, composée d'un langage de programmation et d'une machine virtuelle. Java™ était né. L'histoire de Java commence en fait en 1991, lorsque Sun décide de lancer un projet destiné à anticiper l'évolution de l'informatique, confié à James Gosling, Patrick Naughton et Mike Sheridan. Ce projet, appelé « Green Project » (en anglais « projet vert »), eu comme résultat une plate-forme baptisée « Oak » (en anglais « chêne »), indépendante du système, orientée objet et légère. Oak était initialement destinée à la télévision interactive. Il a été renommé en Java pour de simples raisons de droit d'auteur. Lorsqu'il est révélé en 1995, Java profite de l'essor d'Internet en permettant l'un des premiers mécanismes d'interactivité au niveau du poste client : l'appliquette (applet) Java. Langage orienté objet d'usage généraliste, Java est enrichi par des bibliothèques, des outils et des environnements très diversifiés, standardisés par le Java Community Process (JCP), consortium chargé de l'évolution de Java. Ce consortium regroupe des entreprises, comme Sun, IBM, Oracle, Borland, BEA, des organismes de normalisation, comme le NIST, des organismes du monde Open Source, comme la Fondation Apache et le JBoss Group, et des particuliers. Il est possible d'utiliser Java pour créer des logiciels dans des environnements très diversifiés : applications sur client lourd (JFC) ; applications Web, côté serveur (servlets, JSP, Struts, JSF) ; applications réparties (EJB) ; applications embarquées (J2ME) ; applications sur carte à puce (JavaCard). Ces applications peuvent être enrichies par de nombreuses fonctionnalités : accès à des bases de données (JDBC et JDO) ; accès à des annuaires (JNDI) ; traitements XML (JAXP) ; connexion à des ERP (JCA) ; accès à des traitements en d'autres langages (JNI) ; services web (JAX-RPC, JAXM, JAXR) ; multimédia (Java Media) ; téléphonie (JTAPI) ; télévision interactive (Java TV). Ceci n'est bien sûr qu'un petit échantillon. Il existe bien d'autres bibliothèques. Historique de Java 1991 : Début du projet Oak, qui donnera naissance à Java. Eté 1992 : première présentation interne des possibilités de Oak. Un appareil appelé « Star Seven » permet de visualiser une animation montrant Duke, l'actuelle mascotte de Java. 1994 : Développement de HotJava, un navigateur internet entièrement écrit en Java. 23 mai 1995 : Lancement officiel de Java 1.0 23 janvier 1996 : Lancement du JDK 1.0. 29 mai 1996 : Première conférence JavaOne. Java Media et les servlets y sont notamment annoncés. 16 août 1996 : Premières éditions des livres Java Tutorial et Java Language Specification par Sun et Addison- Wesley. Septembre 1996 : Lancement du site Web Java Developer Connection Web. Programmation Java/V ersion imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_Java/V ersio... 2 sur 142 24/01/2016 01:22 16 octobre 1996 : Spécification des JavaBeans. 11 janvier 1997 : Lancement des JavaBeans. 18 février 1997 : Lancement du JDK 1.1. 28 février 1997 : Netscape annonce que Communicator supporte désormais Java. 4 mars 1997 : Lancement des servlets. 10 mars 1997 : Lancement de JNDI. 5 juin 1997 : Lancement de Java Web Server 1.0. 5 août 1997 : Lancement de Java Media et de Java Communication API. Mars 1998 : Lancement des JFC et notamment de Swing. 8 décembre 1998 : Lancement de Java 2 et du JDK 1.2. 4 mars 1999 : Support XML. 27 mars 1999 : Lancement de la machine virtuelle HotSpot. 2 juin 1999 : Lancement des JSP. 15 juin 1999 : Formalisation des environnements J2ME, de J2SE et J2EE ; Lancement de Java TV . Août 1999 : Lancement de Java Phone. 8 mai 2000 : Lancement de J2SE 1.3. 9 mai 2002 : Lancement de J2SE 1.4. 24 novembre 2003 : Lancement de J2EE 1.4. 30 septembre 2004 : Lancement de J2SE 1.5, nommé également « J2SE 5.0 » ou « Tiger ». 11 décembre 2006 : Lancement de JavaSE 6, nommé également « Mustang ». 13 novembre 2006 : Passage de Java, c’est-à-dire le JDK (JRE et outils de développement) et les environnements Java EE (déjà sous licence CDDL) et Java ME sous licence GPL. Java devient donc un logiciel libre. 27 janvier 2010 : Sun Microsystem est racheté par Oracle. Désormais, Java est maintenu par la société Oracle. 28 Juillet 2011 : Lancement de JavaSE 7, nommé également « Dolphin ». 18 mars 2014 : Lancement de JavaSE 8, nommé également « Kenaï ». Présentation du langage Java est un langage typé et orienté objet. Il est compilé et basé sur une architecture logicielle très particulière nécessitant une machine virtuelle Java. Il utilise les notions usuelles de la programmation orientée objet : la notion de classe, d'encapsulation, d'héritage, d'interface, de virtualité, de généricité, … Il est accompagné d'un ensemble énorme de bibliothèques standard couvrant de très nombreux domaines, notamment des bibliothèques graphiques. C'est un langage qui présente d'excellentes propriétés de portabilité du code. Son gros point faible est une relative lenteur, surtout si on le compare à des langages comme le C++. Cependant, ce défaut a été résolu en grande partie par l'introduction de la technologie JIT (compilateur Just-In-Time, en anglais « juste à temps »), qui compile le code à la première exécution, permettant une exécution quasiment aussi rapide qu'en C/C++. Programmation Java/V ersion imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_Java/V ersio... 3 sur 142 24/01/2016 01:22 Machine virtuelle Introduction à la machine virtuelle Java Le langage Java utilise une notion extrêmement importante en informatique : la notion de machine virtuelle. Cette machine virtuelle est composée de trois parties, et est souvent fournie avec l'OS, ou facilement installable comme un logiciel normal. Sur les ordinateurs, la même machine virtuelle est capable de lancer : des applications indépendantes (standalone en anglais), lancées et fonctionnant comme toute application installée sur la machine, des applets, à partir d'une page HTML (internet, réseau local ou en local sur la machine). Pour cela, il faut que le navigateur possède une extension permettant d'utiliser une machine virtuelle Java pour l'exécution de ces applets. Environnement d'exécution Le langage Java est un langage orienté objet qui doit être compilé. Cependant, le compilateur Java ne produit pas directement un fichier exécutable, mais du code intermédiaire sous la forme d'un ou plusieurs fichiers dont l'extension est .class ; ce code intermédiaire est appelé bytecode. Pour exécuter le programme, il faut utiliser la machine virtuelle Java qui va interpréter le code intermédiaire en vue de l'exécution du programme. Il ne s'agit pas d'une compilation normale, car le compilateur ne produit pas du code compréhensible directement par le microprocesseur, ni d'un langage interprété, car il y a tout de même la notion de compilation, mais une situation intermédiaire entre un langage interprété et un langage complètement compilé. En d'autres termes, un programme Java, une fois compilé en code intermédiaire, n'est compréhensible que par la machine virtuelle, qui va traduire à la volée (interprétation) les instructions exécutées en code compréhensible par la machine physique. Depuis Java SE 1.3, les machines virtuelles d'Oracle contiennent un interpréteur capable d'optimiser le code appelé HotSpot. L'interpréteur effectue plusieurs tâches : vérification du code intermédiaire ; traduction en code natif (spécifique à la plateforme, au système d'exploitation) ; optimisation. Outre un interpréteur, l'environnement d'exécution fournit également : un noyau multitâches pour les machines virtuelles fonctionnant sur des systèmes monotâches (green virtual machines) ; un « bac à sable » (sandbox) pour l'exécution de processus distants. Chargeur de classe Le chargeur de classe charge les classes nécessaires à l'exécution, alloue l'espace mémoire nécessaire et établit les liens entre elles (linkage). Le chargeur de classe connait la structure d'un fichier .class. Gestionnaire de mémoire Le gestionnaire mémoire assure les services liés à la mémoire, en particulier : un ramasse-miette (garbage collector) ; une protection mémoire même sur les machines dépourvues d'unité de gestion mémoire (MMU). Programmation Java/V ersion imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_Java/V ersio... 4 sur 142 24/01/2016 01:22 Avantage de l'utilisation de la machine virtuelle L'utilisation d'une machine virtuelle a l'énorme avantage de garantir une vraie portabilité. Il existe des machines virtuelles Java pour de très nombreux environnements : Windows, MacOS, Linux et autres. Ces machines virtuelles sont capables d'exécuter exactement le même code intermédiaire (les mêmes fichiers Java en bytecode) avec une totale compatibilité. C'est là une situation unique et assez remarquable qui a fait le succès de ce langage. La machine virtuelle Java n'est pas uniquement développée sur des ordinateurs classiques, une multitude d'appareils disposent d'une machine virtuelle Java : uploads/Industriel/ programmation-java-fr-pdf.pdf
Documents similaires










-
36
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 04, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.7230MB