Java: un terme général pour le langage de programmation Java et la plate-forme Java lancée par Sun Microsystems en mai 1995. Java est un langage de programmation orienté objet qui peut écrire un logiciel d'application multiplateforme. Il a été développé au début des années 1990 par James Gosling, qui travaillait à Sun Microsystems à l'époque. Il a été à l'origine nommé Oak. Avec le développement rapide d'Internet, Java est devenu progressivement un langage de programmation réseau important.
Cela fait dix-neuf ans que la première version de Java est née. Le temps passe et il passe en un éclair. 19 ans se sont écoulés en un clin d'œil. Dans la chronologie illustrée dans la figure ci-dessous, nous voyons que JDK s'est développé à la version 1.8. Au cours de ces 19 années, d'innombrables produits, technologies et normes liés à Java sont nés. Entrons maintenant dans le tunnel de temps et commençons de l'époque lorsque la langue Java a été nourrie, et passons en revue la trajectoire de développement et les changements historiques de Java.
En avril 1991, le Green Project, dirigé par le Dr James Gosling, a été lancé, visant à développer une architecture de programme qui peut fonctionner sur une variété de produits électroniques grand public tels que les décodeurs, les réfrigérateurs, les radios, etc. Le produit de ce projet est le prédécesseur de la langue java: le chêne (chêne). Oak n'a pas réussi sur le marché des biens de consommation à cette époque, mais avec la montée de la tendance Internet en 1995, Oak a rapidement trouvé la position du marché qui convient à son développement et s'est transformée en langue java.
Le 23 mai 1995, la langue Oak a été renommée Java et la version Java 1.0 a été officiellement publiée à la conférence Sunworld. La langue java a d'abord mis en avant le slogan "Écrire une fois, courir n'importe où".
Le 23 janvier 1996, JDK 1.0 a été publié et la langue Java a eu sa première version officielle de l'environnement de course. JDK 1.0 fournit une mise en œuvre de la machine virtuelle Java à exécution purement interprétée (Sun Classic VM). Les technologies représentatives de JDK version 1.0 incluent: Java Virtual Machines, AWT, etc.
En avril 1996, 10 des fournisseurs de systèmes d'exploitation les plus importants ont annoncé qu'ils intégreraient la technologie Java dans leurs produits. En septembre de la même année, environ 83 000 pages Web ont été produites à l'aide de la technologie Java. Fin mai 1996, Sun a tenu sa première conférence Javaone à San Francisco, aux États-Unis. Depuis lors, Javaone est devenu un événement technique annuel pour des millions de développeurs de langues Java dans le monde.
Le 19 février 1997, Sun a sorti JDK 1.1. Certains des points de support les plus élémentaires de la technologie Java (tels que JDBC, etc.) ont été publiés dans la version JDK 1.1. Les représentants techniques de la version JDK 1.1 incluent: Format de fichier JAR, JDBC, Javabeans et RMI. La syntaxe de Java s'est également développée dans une certaine mesure, telle que la classe intérieure et la réflexion apparaissant à l'heure actuelle.
Jusqu'au 8 avril 1999, JDK 1.1 a publié un total de neuf versions: 1.1.0 à 1.1.8. Since 1.1.4, each JDK version has its own name (project code), namely: JDK 1.1.4 - Sparkler (gem), JDK 1.1.5 - Pumpkin (pumpkin), JDK 1.1.6 - Abigail (Abigail, female name), JDK 1.1.7 - Brutus (Brutu, Roman politician and general) and JDK 1.1.8 Chelsea (Chelsea, city name).
Le 4 décembre 1998, JDK a inauguré une version marquante de JDK 1.2, avec le nom de code du projet Playground. Dans cette version, Sun divise le système technologique Java en trois directions, à savoir J2SE (Java 2 Platform, Standard Edition), J2EE (Java 2 Platform, Enterprise Edition) pour le développement de niveau d'entreprise et J2Me (Java 2 Platform, Micro Edition) pour les terminaux mobiles tels que les téléphones mobiles. Il existe de nombreuses technologies représentatives qui apparaissent dans cette version, telles que EJB, Java Plug-In, Java IDL, Swing, etc. Dans cette version, la machine virtuelle Java a un compilateur JIT (juste à temps) pour la première fois (3 machines virtuelles coexiste Les compilateurs JIT intégrés et la machine virtuelle classique apportée dans la version précédente ne peuvent utiliser le compilateur JIT que sous la forme de plug-ins). Au niveau de la langue et de l'API, Java ajoute des mots clés StrictFP et une série de classes de collections de collections qui sont très couramment utilisées dans le codage Java.
En mars et juillet 1999, deux petites versions, JDK 1.2.1 et JDK 1.2.2, ont été libérées respectivement.
Le 27 avril 1999, la machine virtuelle Hotspot a été publiée. Hotspot a été initialement développé par une petite entreprise appelée "Longview Technologies". En raison des performances exceptionnelles de Hotspot, la société a été acquise par Sun en 1997. La machine virtuelle Hotspot a été publiée en tant que programme supplémentaire à JDK 1.2, et plus tard, il est devenu la machine virtuelle par défaut pour JDK 1.3 et toutes les versions de Sun JDK.
Le 8 mai 2000, JDK 1.3, dont le code du projet est Kestrel, a été publié. Les améliorations de JDK 1.3 par rapport à JDK 1.2 se reflètent principalement dans certaines bibliothèques de classe (telles que les opérations mathématiques et la nouvelle API de temporisation, etc.). Le service JNDI a été fourni en tant que service au niveau de la plate-forme depuis JDK 1.3 (JNDI n'était qu'une extension auparavant), en utilisant Corba IIOP pour implémenter les protocoles de communication RMI, etc. Cette version apporte également beaucoup d'améliorations à Java 2D, fournit un grand nombre de nouveaux API Java 2D, et ajoute un nouveau bibliothèque de classe Javasound. JDK 1.3 a une version révisée de JDK 1.3.1, avec le nom de code de projet Ladybird, et a été publié le 17 mai 2001.
Depuis JDK 1.3, Sun a maintenu l'habitude de publier une version majeure de JDK environ tous les deux ans, du nom des animaux, et les diverses révisions publiées au cours de la période sont nommées par des insectes.
Le 13 février 2002, JDK 1.4 a été publié, avec le nom de code du projet Merlin (Gray Back Falcon). JDK 1.4 est une version de Java qui a vraiment mûri. Des sociétés célèbres telles que Compaq, Fujitsu, SAS, Symbian et IBM ont participé et ont même réalisé leur propre JDK 1.4 indépendant. Encore plus de dix ans plus tard, il existe encore de nombreuses applications grand public (printemps, hibernate, entretoises, etc.) qui peuvent fonctionner directement sur JDK 1.4, ou continuer à publier des versions qui peuvent fonctionner sur JDK 1.4. JDK 1.4 a également publié de nombreuses nouvelles fonctionnalités techniques, telles que des expressions régulières, des chaînes d'exception, des NIO, des classes de journaux, des analyseurs et des convertisseurs XSLT.
JDK 1.4 a deux révisions ultérieures:
JDK 1.4.1, The Project Codename Grasshopper, publié le 16 septembre 2002
Le projet a nommé Mantis JDK 1.4.2 publié le 26 juin 2003.
Vers 2002, un incident qui n'avait pas de relation directe avec Java, mais a en fait eu un grand impact sur le développement de Java, a été publié par Microsoft's .NET Work. Cette plate-forme technologique, qui est très similaire à Java dans la mise en œuvre technique et les utilisateurs cibles, a apporté beaucoup de discussions, de comparaison et de concurrence avec Java. L'énorme débat entre la plate-forme .NET et la plate-forme Java s'est poursuivi jusqu'à présent.
Le 30 septembre 2004, JDK 1.5 a été publié, avec le nom de code du projet Tiger. Depuis JDK 1.2, la transformation de Java au niveau de la syntaxe a été très petite, et JDK 1.5 a apporté de grandes améliorations dans la facilité d'utilisation de la syntaxe Java. Par exemple, des fonctionnalités de syntaxe telles que la boxe automatique, les génériques, les annotations dynamiques, les énumérations, les paramètres de longueur variable et les boucles de traversée (boucles foreach) sont toutes ajoutées dans JDK 1.5. Au niveau de la machine virtuelle et de l'API, cette version améliore le modèle de mémoire de Java (JMM), fournit Java.util.Concurrent concurrence, etc. En outre, JDK 1.5 est la dernière version JDK qui déclare officiellement qu'elle peut prendre en charge la plate-forme Windows 9x.
Le 11 décembre 2006, JDK 1.6 a été publié, avec le nom de code du projet Mustang (Mustang). Dans cette version, Sun a mis fin aux méthodes de dénomination de J2EE, J2SE et J2Me qui existent depuis 8 ans depuis JDK 1.2, et ont permis aux méthodes de dénomination de Java SE 6, Java EE 6, et Java ME 6. Les améliorations de JDK 1.6 incluent: fournissant un support linguistique dynamique (implémenté par le serveur de mozila intégré) API, etc. En même temps, cette version a apporté de nombreuses améliorations à la machine virtuelle Java, y compris le verrouillage et la synchronisation, la collecte des ordures, le chargement des classes et d'autres algorithmes.
Lors de la conférence Javaone, le 13 novembre 2006, Sun a annoncé qu'elle serait enfin open source Java, et l'année suivante, diverses parties du JDK ont été successivement divulguées dans le protocole GPL V2 (GNU General Public License V2) et ont établi une organisation OpenJDK pour gérer indépendamment ces codes source. En plus d'une très petite quantité de code de droits de propriété (code encombré, qui, principalement le soleil lui-même, n'a pas l'autorisation de traitement open source), OpenJDK comprend presque tous les codes de Sun JDK. Le responsable de la qualité d'OpenJDK a dit un jour que dans JDK 1.7, les codes de Sun JDK et OpenJDK sont fondamentalement les mêmes, à l'exception des annotations des droits d'auteur des en-têtes de fichiers de code, donc OpenJDK 7 et Sun JDK 1.7 sont essentiellement des produits développés par le même ensemble de bases de code.
Après la publication de JDK 1.6, en raison de l'augmentation de la complexité du code, de l'open source de JDK, du développement de Javafx, de la crise économique et de l'acquisition de Sun, Sun a dépensé beaucoup de ressources sur des choses autres que le développement JDK, et la mise à jour de JDK n'a pas maintenu la vitesse de développement de la publication d'une version majeure pour deux ans. Jusqu'à présent, JDK 1.6 a publié un total de 37 versions de mise à jour. La dernière version est Java SE 6 Update 37, publiée le 16 octobre 2012.
Le 19 février 2009, JDK 1.7, nommé Dolphin, a terminé sa première version de jalon. Selon la planification fonctionnelle de JDK 1.7, un total de 10 jalons ont été fixés. La dernière version d'étape devait initialement se terminer le 9 septembre 2010, mais JDK 1.7 n'a finalement pas pu terminer comme prévu pour diverses raisons.
À en juger par la planification fonctionnelle initiale de JDK 1.7, ce devrait être une version JDK qui contient de nombreuses améliorations importantes. Les sous-projets tels que Lambda Project (Lambda Expressions, Functional Programming), Jigsaw Project (support modulaire des machines virtuelles), le support linguistique dynamique, le projet de collecteur et de pièces de monnaie (Evolution des détails du langage) auront un impact profond sur l'industrie Java. Au cours du développement de JDK 1.7, Sun Company était dans un bourbier dans les compétitions technologiques et commerciales, et sa valeur boursière est tombée à seulement 3% de sa période de pointe, et n'a plus été en mesure de promouvoir le développement de JDK 1,7 comme d'habitude. Afin de mettre fin à l'arrêt à long terme de JDK 1.7 dès que possible, Oracle a annoncé peu de temps après avoir acquis Sun, il mettrait en œuvre le "Plan B" et réduirait considérablement la cible prédéterminée de JDK 1.7 pour s'assurer que la version officielle de JDK 1.7 peut être publiée à temps le 28 juillet 2011. "Plan B" quelques améliorations à JDK 1.8 qui ne peuvent pas être terminées sur le temps. Enfin, les principales améliorations de JDK 1.7 incluent: la fourniture d'un nouveau collecteur G1 (G1 était toujours dans l'état expérimental lors de sa publication, et il n'a été officiellement "réformé" que jusqu'à la mise à jour 4 en avril 2012), renforçant le support d'appel pour les langues non Java (JSR-292, cette fonctionnalité n'a pas été complètement mise en œuvre jusqu'à présent), l'amélioration de l'architecture de la classe, etc.
Jusqu'à présent, JDK 1.7 a publié 9 versions de mise à jour, et la dernière mise à jour Java SE 7 a été publiée le 16 octobre 2012. À partir de la mise en charge de Java SE 7, Oracle a commencé à prendre en charge le système d'exploitation Mac OS X et a atteint une prise en charge complète dans la mise à jour 6. En même temps, il est également en charge de la prise en charge de l'architecture d'instructions ARM dans la mise à jour. plates-formes et supports ARM, X86, X64 et Types d'architecture d'instructions SPARC.
Le 20 avril 2009, Oracle a annoncé qu'elle avait officiellement acquis Sun pour 7,4 milliards de dollars américains, et la marque Java était officiellement détenue par Oracle (la langue Java elle-même n'appartient à aucune entreprise, elle est gérée par l'organisation JCP, bien que JCP soit principalement dirigée par Sun ou Oracle). Depuis qu'Oracle a précédemment acquis une autre grande entreprise de middleware, Bea, après avoir terminé l'acquisition de Sun, Oracle a obtenu deux des trois principales machines virtuelles commerciales actuelles de Bea et Sun, Jrockit et Hotspot. Oracle a annoncé qu'au cours des 1 à 2 prochaines années, il apprendrait les forces et les faiblesses de l'autre et les fusionnera enfin en une seule. Il peut être prévu que dans un avenir proche, la technologie de la machine virtuelle Java subira des changements considérables.
Le 28 juillet 2011, Oracle a publié Java SE 1.7
Le 18 mars 2014, Oracle a publié Java SE 1.8
Le langage Java a les caractéristiques suivantes: simplicité, orientée objet, distribuée, interprétation interprétée, robuste, sécurisée, neutre, portable, haute performance, multi-threading et dynamique.