Résumé des fonctionnalités de chaque version du JDK

Table des matières

JavaSE 1.0

Java SE 1.1

Java SE 1.2

Java SE 1.3

Java SE 1.4

JavaSE5

JavaSE6

JavaSE7

Java SE 8(LTS)

JavaSE9

JavaSE10

Java SE 11(LTS)

JavaSE12

Java SE 13

JavaSE14

JavaSE15

JavaSE16

Java SE 17(LTS)

Java SE 18

Java SE 19

JavaSE20


JavaSE 1.0

1996-01-23 Chêne (Chêne)

        La première version est une étape importante, mais elle est purement interprétée et utilise un plug-in JIT. Les performances sont relativement médiocres et la vitesse d'exécution est lente.

        Cette version comprend deux parties : l'environnement d'exploitation (c'est-à-dire Java Runtime Environment, JRE) et l'environnement de développement (Java Development Kit, JDK). L'environnement d'exploitation comprend cinq parties : API de base, API d'intégration, API d'interface utilisateur, technologie de publication et machine virtuelle Java (Java Virtual Machine, JVM) ; l'environnement de développement comprend un compilateur (commande javac) pour compiler des programmes Java.

Java SE 1.1

1997-02-19

        Cette version ajoute un compilateur JIT (Just In Time, compilation juste à temps). Par rapport aux compilateurs traditionnels, il enregistre en mémoire les instructions fréquemment utilisées et n'a pas besoin d'être recompilé lors de son prochain appel. Cette méthode permet au JDK Il y a un plus grand avantage en termes d’efficacité.

De plus, de nouvelles fonctionnalités sont introduites :

  1. POT - pot包
  2. JDBC (Java Database Connectivity) - spécification de connexion à la base de données
  3. Classe intérieure
  4. Haricots Java
  5. RMI (Remote Method Invocation) - appel à distance
  6. Réflexion

Java SE 1.2

1998-12-08 Aire de jeux (aire de jeux)

        JDK1.2 est une version importante. Dans cette version, Sun divise le système technologique Java en trois directions, qui sont J2SE (Java 2 Platform, Standard Edition) pour le développement d'applications de bureau et le développement au niveau de l'entreprise. J2EE (Java 2 Platform, Standard Edition) , Enterprise Edition) et J2ME (Java 2 Platform, Micro Edition) développés pour les terminaux mobiles tels que les téléphones mobiles.

        Au niveau du langage et de l'API, Java a ajouté le mot-clé strictfp et la bibliothèque de classes Java a ajouté une série de classes de collection Collections qui sont très couramment utilisées dans le codage Java.

        JDK1.2 Solaris Exact VM, avec interpréteur JIT, performances GC améliorées, gestion précise de la mémoire (Accurate Memory Management), sensibilité du type de données et autres fonctionnalités. Mais son cycle de vie est très court, et il sera bientôt remplacé par Hotspot.

De plus, de nouvelles fonctionnalités sont introduites :

  1. cadre de collecte
  2. Constantes de chaîne pour le mappage de la mémoire
  3. Compilateur JIT (juste à temps)
  4. Signer numériquement les fichiers Java packagés
  5. Outil de politique pour contrôler l’accès autorisé aux ressources système
  6. JFC (Java Foundation Classes) Swing 1.0, glisser-déposer et bibliothèque de classes Java2D
  7. Plugin Java
  8. Ensembles de résultats défilants JDBC, BLOB, CLOB, mise à jour par lots et types définis par l'utilisateur
  9. Ajouter la prise en charge du son dans Applet

Java SE 1.3

2000-05-08 Crécerelle (Crécerelle)

        L'amélioration de cette version se reflète principalement dans la bibliothèque de classes Java (comme les opérations mathématiques et la nouvelle API Timer, etc.), le service JNDI est fourni en tant que service au niveau de la plateforme depuis JDK 1.3 (auparavant, JNDI n'était qu'un service d'extension ), l'utilisation de CORBA IIOP est utilisée pour réaliser le protocole de communication RMI, etc. JDK1.3 a apporté de nombreuses optimisations et améliorations à tous les aspects de Java.

        Hotspot est livré en tant que machine virtuelle par défaut.

Les nouvelles fonctionnalités introduites incluent :

  1. calcul
  2. API de minuterie (heure)
  3. API audio Java (son)
  4. CORBA IIOP réalise le protocole de communication de RMI
  5. Nouvelles fonctionnalités Java 2D
  6. Index des fichiers JAR

Java SE 1.4

2002-02-13 Merlin

        Cette version est la version la plus mature de l’histoire du JDK. À cette époque, la participation de sociétés telles que Compaq, Fujitsu, SAS, Symbian et IBM a fait du JDK1.4 la version du JDK connaissant la croissance la plus rapide. JDK1.4 peut déjà utiliser Java pour implémenter la plupart des applications.

        Durant cette période, le langage Java brille dans le domaine des applications d'entreprise, et un grand nombre de frameworks open source basés sur le langage Java voient le jour : Struts, WebWork, Hibernate, Spring, etc. ; un grand nombre de serveurs d'applications d'entreprise commencent également émerger : WebLogic, WebSphere, JBoss, etc.

        La VM classique s'est retirée de la scène de l'histoire.

Les nouvelles fonctionnalités introduites incluent :

  1. Traitement XML
  2. Service d'impression Java
  3. API de journalisation (journalisation)
  4. Démarrage Web Java
  5. API JDBC 3.0
  6. mécanisme d'affirmation
  7. API de paramètres (Préférences)
  8. gestion des exceptions chaînées
  9. Prise en charge d'IPV6
  10. Expression régulière (régulière)
  11. API d'E/S d'image
  12. NIO (diffusion avancée)

JavaSE5

2004-09-30 Tigre (Tigre)

        Dans le même temps, Sun a remplacé JDK1.5 par Java 5.0 , et J2EE, J2SE et J2ME ont été remplacés en conséquence par Java SE, Java ME et Java EE. Ajout de fonctions telles que les génériques, les boucles for améliorées, le nombre variable de paramètres formels, les annotations (Annotations), le déballage et le boxing automatiques ; publication de nouvelles spécifications de plate-forme au niveau de l'entreprise, telles que la simplification de la complexité des EJB grâce à de nouvelles fonctionnalités telles que les annotations, et lancement la spécification EJB3.0, a également lancé sa propre spécification de framework MVC : JSF.

JDK 5 a apporté de grandes améliorations en termes de facilité d'utilisation de la syntaxe Java. Des fonctionnalités syntaxiques telles que l'autoboxing, les génériques, les annotations dynamiques, les énumérations, les paramètres de longueur variable et les boucles de parcours (boucles foreach) sont toutes ajoutées dans JDK 5. Au niveau de la machine virtuelle et de l'API, cette version améliore le modèle de mémoire Java (Java Memory Model, JMM), fournit java.util.concurrent et d'autres packages. De plus, JDK 5 est la dernière version du JDK officiellement déclarée prendre en charge le système d'exploitation Windows 9x.

Les nouvelles fonctionnalités introduites incluent :

  1. Générique
  2. Boucle Pour-Chaque
  3. Mise en boîte et déballage automatique
  4. Énumération sécurisée de classe (Enum)
  5. Varargs (Varargs)
  6. importer de la statique
  7. Annotation des métadonnées (Annotation)
  8. Introspecter
  9. Modèle de mémoire (JMM)
  10. package simultané (java.util.concurrent)

JavaSE6

2006-12-11 Mustang

        Cette version introduit un nouveau framework qui prend en charge le moteur de script, des améliorations de l'interface utilisateur, des améliorations de la prise en charge des services Web (JAX-WS2.0 et JAXB2.0), une série de nouvelles améliorations liées à la sécurité, JDBC4.0, l'API du compilateur, la prise en charge générale des annotations. . Et de nombreuses améliorations ont été apportées à l'intérieur de la machine virtuelle Java, notamment de nombreux changements dans l'implémentation des verrous et de la synchronisation, du garbage collection et du chargement des classes.

        Fournit une prise en charge préliminaire du langage dynamique (via le moteur Mozilla JavaScript Rhino intégré), fournit un processeur d'annotation au moment de la compilation et une petite API de serveur HTTP, et bien plus encore.

Les nouvelles fonctionnalités introduites incluent :

  1. Changements de nomenclature
  2. Prise en charge du langage de script
  3. API de compilation et API du serveur Micro HTTP
  4. Verrous et synchronisation
  5. collecte des ordures
  6. chargement de classe
  7. JDBC 4.0 (jdbc-avancé)
  8. Compilateur Java (interface avec le compilateur du langage de programmation Java™)
  9. Annotations enfichables
  10. PKI native (infrastructure à clé publique)
  11. Java GSS (service de sécurité générique)
  12. Kerberos (un système d'authentification sécurisé)
  13. LDAP (LDAP)
  14. Services Web (le service Web est une transmission XML)
  15. Tri et filtrage de JTable
  16. Base de données embarquée Derby

JavaSE7

2011-07-28 Dauphin (Dauphin)

        Après l'acquisition de Sun par Oracle, Oracle a immédiatement annoncé qu'il avait considérablement réduit l'objectif du JDK 7 afin de garantir que la version officielle du JDK 7 puisse être publiée à temps, le 28 juillet 2011.

        Cette version introduit de nouvelles fonctionnalités telles que les entiers binaires, les instructions switch prenant en charge les chaînes, la syntaxe diamant, les captures d'exceptions multiples et les instructions try qui ferment automatiquement les ressources. Fournir un nouveau collecteur G1 (G1 était encore à l'état expérimental lors de sa sortie, et il n'a été officiellement commercialisé qu'avec la mise à jour 4 en avril 2012), et renforcer la prise en charge des appels pour les langages non Java (JSR-292, ce la fonctionnalité est dans JDK 11 (il y a aussi des changements), une architecture de chargement de classes parallélisable, etc.

Les nouvelles fonctionnalités introduites incluent :

  1. L'instruction switch prend en charge les chaînes String
  2. Inférence de type d'objet générique - Lorsque vous appelez le constructeur d'une classe générique, vous pouvez omettre le paramètre générique et le compilateur jugera automatiquement.
  3. attraper plusieurs captures d'exceptions - plusieurs exceptions sont séparées à l'aide de l'opérateur "|"
  4. Prise en charge des langages dynamiques
  5. Varargs de type générique améliorés
  6. Prend en charge syntaxiquement les collections, pas nécessairement les tableaux
  7. Ajout d'outils et de méthodes pour obtenir des informations environnementales
  8. Inversion de type booléen : sécurité du pointeur nul, participation aux opérations sur les bits
  9. méthode égale entre deux caractères
  10. addition, soustraction, multiplication et division en toute sécurité
  11. Améliorations des collections Java (Collections) : les collections de cartes prennent en charge les requêtes simultanées
  12. Présentation du kit de développement Java NIO.2
  13. Les valeurs peuvent être soulignées comme séparateurs
  14. null vaut la peine d'être traité automatiquement
  15. Méthodes variadiques d'appel simplifiées
  16. Fournir un collecteur d'IG
  17. Renforcer la prise en charge des appels pour les langages non Java (JSR-292, mise à niveau de l'architecture de chargement de classe)

Java SE 8(LTS)

2014-03-18

        Cette version apporte de toutes nouvelles expressions Lambda, interfaces fonctionnelles, expressions Lambda, opérations de streaming sur les collections, mises à jour d'annotations, améliorations de la sécurité, améliorations IO\NIO et fonctions de globalisation complètes.

Les nouvelles fonctionnalités introduites incluent :

  1. Expressions lambda
  2. Inférence de type améliorée
  3. Annotations de types Java
  4. commentaire en double
  5. réflexion des paramètres de la méthode
  6. TLS 1.1 et TLS 1.2 sont activés par défaut
  7. DoPrivileged limité
  8. Algorithmes plus puissants basés sur le cryptage des mots de passe
  9. Prise en charge de l'extension SSL/TLS Server Name Indication (SNI) dans les serveurs JSSE
  10. Prise en charge de l'algorithme AEAD
  11. Améliorations de KeyStore
  12. Résumé du message SHA-224
  13. Prise en charge améliorée du cryptage NSA Suite B
  14. Meilleure prise en charge de la génération de nombres aléatoires à haute entropie
  15. Nouvelle classe PKIXRevocationChecker
  16. PKCS11 64 bits pour Windows
  17. Nouveau cache de relecture rcache de type 5 dans Kerberos
  18. Kerberos 5 pour la transition de protocole et la délégation contrainte
  19. Désactiver le cryptage faible par défaut
  20. SASL non lié pour les mécanismes GSS-API/Kerberos 5
  21. Service SASL pour plusieurs noms d'hôtes
  22. Pont JNI vers JGSS natif sur Mac OS X
  23. Prise en charge de clés DH éphémères plus fortes dans le fournisseur SunJSSE
  24. Prise en charge de la personnalisation des préférences de suite de chiffrement dans JSSE
  25. JavaFX flambant neuf
  26. Améliorations opérationnelles pour les outils Java
  27. Améliorations Unicode, y compris la prise en charge d'Unicode 6.2.0
  28. Adopte les données Unicode CLDR et la propriété système java.locale.providers
  29. Nouvelle API de calendrier et de paramètres régionaux
  30. Présentation de la nouvelle API Date Time
  31. Moteur JavaScript Nashorn
  32. tri par tableau parallèle
  33. Encodage et décodage standard Base64
  34. support arithmétique non signé
  35. nouvelle concurrence
  36. Fonctions améliorées de la technologie Java XML
  37. Opérations de machine virtuelle améliorées

JavaSE9

2017-09-22

        JDK 9 est finalement sorti avec Jigsaw. En plus de Jigsaw, JDK 9 a également amélioré plusieurs outils (JS Shell, JLink, JHSDB, etc.), rectifié le système de journalisation de chaque module de HotSpot et pris en charge l'API client HTTP 2, etc. 91 a JEP.

        JDK 9 apporte plus de 150 nouvelles fonctionnalités, dont le très attendu système modulaire, les outils interactifs REPL : jshell, les outils de compilation JDK, l'API publique Java et le code privé, ainsi que des améliorations de sécurité, des améliorations d'extensions, des améliorations de gestion des performances, etc. On peut dire que JDK 9 est un énorme projet système et qu'un changement global a été complètement apporté.

Les nouvelles fonctionnalités introduites incluent :

  1. Système modulaire de modularité au niveau de la plate-forme (anciennement connu sous le nom de : Jigsaw)
  2. Outil REPL de Java : commande jShell
  3. Package jar compatible multi-versions (ceci est très utile pour gérer la compatibilité ascendante)
  4. Amélioration de la syntaxe : méthodes privées d'interfaces
  5. Amélioration de la syntaxe : restrictions sur l'utilisation de UnderScore (trait de soulignement)
  6. Structure sous-jacente : la structure de stockage des chaînes change (c'est très important)
  7. Méthodes Collection Factory : créez rapidement des collections en lecture seule
  8. API de flux améliorée
  9. Toute nouvelle API client HTTP
  10. autres caractéristiques

JavaSE10

2018-03-20

        L'objectif principal de R&D de cette version est le refactoring interne , tel qu'un entrepôt de sources unifié, une interface de garbage collector unifiée, une interface de compilateur unifiée juste à temps (JVMCI existe déjà dans JDK 9, voici l'introduction du nouveau Graal just-in- time), etc. Ce sera une amélioration qui sera très bénéfique pour le développement futur de Java, mais pour les utilisateurs ordinaires, les nouvelles fonctionnalités du JDK 10 semblent ternes. Après tout, il ne contient que 12 JEP, et seule l'inférence de type locale est l'amélioration visible du côté codage.

Les 12 nouveautés clés de Java 10 :

  1. JEP 286 : Inférence de type pour les variables locales. Cette fonctionnalité a été discutée et étudiée dans la communauté depuis longtemps, vous pouvez consulter les résultats de l'enquête JEP 286
  2. JEP 296 : Consolidation de plusieurs référentiels de code du JDK en un seul référentiel
  3. JEP 304 : Interface du collecteur de déchets. Améliore l’isolation des sources entre différents garbage collector en introduisant une interface propre de garbage collector (GC).
  4. JEP 307 : Présentation du GC complet parallèle au G1
  5. JEP 310 : Partage de données de classe d'application. Pour améliorer le démarrage et l'empreinte, la fonctionnalité existante de partage de données de classe (« CDS ») est étendue pour permettre aux classes d'application d'être placées dans des archives partagées.
  6. JEP 312 : Contrôle local des threads. Permet d'arrêter des threads individuels au lieu d'activer ou d'arrêter uniquement tous les threads
  7. JEP 313 : Supprimer l'outil de génération d'en-tête natif (javah)
  8. JEP 314 : extensions supplémentaires de balises de langage Unicode. Y compris : cu (type de devise), fw (jour de la semaine pour le premier jour de la semaine), rg (couverture régionale), tz (fuseau horaire), etc.
  9. JEP 316 : allouer de la mémoire tas sur des périphériques de mémoire alternatifs. Permet à la machine virtuelle HotSpot d'allouer des tas d'objets Java sur d'autres périphériques de mémoire
  10. JEP 317 : Compilateur JIT basé sur Java (expérimental)
  11. JEP 319 : Certificats racine. Certificats racine dans le programme open source Java SE Root CA
  12. JEP 322 : Schéma de publication de version basé sur le temps. Les « versions de fonctionnalités » contiendront de nouvelles fonctionnalités, les « versions de mise à jour » ne corrigeront que les bugs

Java SE 11(LTS)

2018-09-25

        Cette version dispose d'un garbage collector révolutionnaire tel que ZGC, et présente également l'amélioration visible de l'ajout de l'inférence de type dans JDK 10 à la syntaxe Lambda. InfoQ : Java 11 officiellement sorti, interprétation des nouveautés

Les 17 nouveautés clés (JEP) de Java 11 :

  1. 181 Contrôle de visibilité de classe imbriquée
  2. 309 Constante de fichier dynamique
  3. 315 Améliorer les intrinsèques d'Aarch64
  4. 318 Epsilon – un ramasse-miettes sans opération
  5. 320 Supprimer les modules Java EE et CORBA
  6. 321 Client HTTP
  7. 323 Syntaxe des variables locales pour les paramètres Lambda
  8. 324 Accord clé pour les algorithmes Curve25519 et Curve448
  9. 327 Unicode10
  10. 328 Enregistreur de vol
  11. Prise en charge des algorithmes de cryptage 329 haCha20 et Poly1305
  12. 330 Lancer des programmes de code source à fichier unique (démarrer des programmes de code source à fichier unique)
  13. 331 Profilage de tas à faible surcharge
  14. 332 Prise en charge de TLS 1.3
  15. 333 ZGC : un récupérateur de place évolutif à faible latence (récupérateur de place évolutif à faible latence)
  16. 335 Moteur JavaScript Nashorn obsolète
  17. 336 Outils et API Pack200 obsolètes

JavaSE12

2019-03-19

        Il ne contient que 8 JEP, qui incluent principalement de nouvelles fonctions telles que Switch expression et Java microtest suite (JMH).La caractéristique la plus frappante est sans aucun doute l'ajout du garbage collector Shen-andoah développé par RedHat. En tant que premier garbage collector non développé par Oracle, l'objectif de Shenandoah est presque exactement le même que celui de ZGC publié par Oracle dans le JDK 11. Il existe une concurrence inhérente entre les deux.

Les 8 nouveautés clés (JEP) de Java 12 :

  1. 189 : Shenandoah : un garbage collector à faible temps de pause (expérimental) : Ajout d'un nouveau garbage collector appelé Shenandoah, qui réduit les temps de pause en effectuant une évacuation pendant que les threads Java sont en cours d'exécution.
  2. 230 : Microbenchmark Suite : un nouvel ensemble de microbenchmarks est ajouté pour permettre aux développeurs de tester facilement les performances du JDK basé sur le Java Microbenchmark Harness (JMH) existant et de créer de nouveaux benchmarks.
  3. 325 : Expressions Switch (Aperçu) : étendez l'instruction switch afin qu'elle puisse être utilisée comme instruction ou expression pour simplifier le code quotidien.
  4. 334 : API des constantes JVM : introduisez une API pour modéliser les fichiers de classe clés et les descriptions nominales des artefacts d'exécution, en particulier les constantes qui peuvent être chargées à partir du pool de constantes.
  5. 340 : un port AArch64, pas deux : supprimez tout le code source lié au port arm64, conservez le port ARM 32 bits et le port aarch64 64 bits.
  6. 341 : Archives CDS par défaut : Génère des archives de partage de données de classe (CDS) par défaut.
  7. 344 : Collectes mixtes avortables pour G1 : lorsque la collecte du garbage collector G1 dépasse l'objectif de suspension, le processus de garbage collection peut être abandonné.
  8. 346 : Renvoyer rapidement la mémoire engagée inutilisée de G1 : Améliorez le garbage collector G1 pour renvoyer automatiquement la mémoire tas Java au système d'exploitation lorsqu'il est inactif.

Java SE 13

2019-09-17

        Cette version augmente la productivité des développeurs en améliorant les performances, la stabilité et la sécurité de la plateforme Java SE et du JDK. Cette fois, le JDK13 inclut 5 JEP (Java Enhancement Proposals) et un support Unicode 12.1 pour un total de 6 nouvelles fonctionnalités majeures.

Six fonctionnalités importantes du JDK13 :

  1. Prise en charge d'Unicode 12.1
  2. Archivage dynamique sur CDS
  3. Réimplémentation des API java.net.Socket et java.net.ServerSocket
  4. Améliorations de ZGC
  5. Blocs de texte (fonctionnalité de langue d'aperçu)
  6. changer d'expression (fonctionnalité de prévisualisation du langage)

JavaSE14

2020-03-17

Les 16 nouvelles fonctionnalités suivantes ont été ajoutées au JDK 14 :

  1. 305 : correspondance de modèle d'instanceof (aperçu)
  2. 343 : Outil d'emballage (Incubateur)
  3. 345 : Optimisation de l'allocation de mémoire G1 NUMA
  4. 349 : Flux d'événements JFR
  5. 352 : Mappage de tampon d'octets non atomique
  6. 358 : Exception NullPointer amicale
  7. 359 : Enregistrements (Aperçu)
  8. 361 : Changer d'expression (standard)
  9. 362 : ports Solaris et SPARC obsolètes
  10. 363 : Supprimer le récupérateur de place CMS (Concurrent Mark Sweep)
  11. 364 : ZGC sur macOS
  12. 365 : ZGC sous Windows
  13. 366 : Dépréciation de la combinaison ParallelScavenge + SerialOld GC
  14. 367 : Supprimer les outils et l'API Pack200
  15. 368 : Blocs de texte (deuxième aperçu)
  16. 370 : API de stockage externe (incubateur)

JavaSE15

2020-09-15

Java15 possède principalement les fonctionnalités suivantes :

  1. 339     Algorithme de signature numérique Edwards-Curve (EdDSA)    Algorithme de signature Montgomery et distorsion Edwards Curve
  2. 360     Classes scellées (Aperçu)    Classes scellées (Aperçu)
  3. 371     Classes cachées    Classes cachées
  4. 372     Supprimer le moteur JavaScript Nashorn    Supprimer le moteur JavaScript Nashorn
  5. 373    Réimplémenter l'ancienne API DatagramSocket    Réimplémenter l'ancienne API DatagramSocket
  6. 374     Désactiver et déprécier le verrouillage biaisé    Désactiver et déprécier le verrouillage biaisé
  7. 375    Correspondance de modèles pour instanceof (deuxième aperçu    )
  8. 377    ZGC : un garbage collector évolutif à faible latence    ZGC : un garbage collector évolutif à faible latence
  9. 378     Blocs de texte    Blocs de texte
  10. 379     Shenandoah : un éboueur à faible temps de pause    Shenandoah : un éboueur à faible temps de pause
  11. 381     Supprimez les ports Solaris et SPARC    Supprimez les ports Solaris et SPARC
  12. 383     API d'accès à la mémoire étrangère (deuxième incubateur)    API d'accès à la mémoire externe (deuxième incubateur)
  13. 384    enregistrements (deuxième aperçu    )
  14. 385     Déprécier l'activation RMI pour la suppression    recommande de supprimer l'activation RMI

JavaSE16

2021-03-16

        JDK16 nous a apporté 17 améliorations, notamment de nouvelles fonctionnalités de langage, de nouveaux outils et des améliorations dans la gestion de la mémoire.

Nouvelles fonctionnalités du JDK16 :

  1. Gestion de la mémoire améliorée
  2. nouvel outil d'emballage
  3. Canaux Socket de domaine UNIX
  4. Avertissements pour les classes basées sur des valeurs
  5. Encapsulation des éléments internes du JDK par défaut
  6. Fournit des fonctionnalités du langage C++14
  7. Quelques autres nouveautés de la version préliminaire

Java SE 17(LTS)

2021-09-14

        Une autre version à support long (LTS) suite à la sortie du JDK11 il y a 3 ans, qui apporte 14 mises à jour JEP (JDK Enhancement Proposal), dont 10 nouvelles fonctionnalités, la suppression de 2 fonctionnalités et la dépréciation de 2 fonctionnalités. Spring Boot 3.0 ne prend en charge qu'au minimum JDK 17 et n'est plus rétrocompatible, ce qui signifie que de nombreux développeurs devront à l'avenir passer progressivement du JDK8 au JDK17.
Nouvelles fonctionnalités de Java 17 :

  1. 306 : Revenir à une sémantique à virgule flottante toujours stricte
  2. 356 : Générateur de nombres pseudo-aléatoires amélioré
  3. 382 : Nouveau pipeline de rendu macOS
  4. 391 : port macOS/AArch64
  5. 398 : rendre obsolète l'API Applet, qui sera bientôt supprimée
  6. 403 : Encapsuler fortement l'API interne du JDK
  7. 406 : correspondance de modèle de commutation (aperçu)
  8. 407 : Supprimer l'activation RMI
  9. 409 : Classe de scellement
  10. 410 : Supprimer le compilateur expérimental AOT et JIT
  11. 411 : la dépréciation est sur le point de supprimer le gestionnaire de sécurité
  12. 412 : Fonctions étrangères et API mémoire (Incubateur)
  13. 414 : API Vector (incubation de la deuxième fonctionnalité)
  14. 415 : Filtre de désérialisation spécifique au contexte

Java SE 18

2022-03-22

Neuf nouvelles fonctionnalités apportées par JDK18 :

  1. 400 : codage de caractères UTF-8 par défaut
  2. 408 : Serveur Web simple
  3. 413 : Prise en charge des extraits de code dans Javadoc
  4. 416 : Réimplémenter la fonctionnalité de base de réflexion à l'aide des handles de méthode
  5. 417 : API vectorielle (trois hachures)
  6. 418 : Résolution d'adresse Internet SPI
  7. 419 : API de fonctions étrangères et de mémoire (deuxième incubation)
  8. 420 : expression de commutation (incubation secondaire)
  9. 421 : lié à la suppression obsolète

Java SE 19

2022-09-20

        Cette version comporte au total 7 nouvelles fonctionnalités, 4 fonctionnalités en avant-première + 2 fonctionnalités d'incubation + 1 nouvelle fonctionnalité.

Sept nouvelles fonctionnalités apportées par JDK19 :

  1. 405 : Modèles d'enregistrement (Aperçu) - Modèles d'enregistrement (Aperçu)
  2. 422 : Port Linux/RISC-V - Port Linux/RISC-V
  3. 424 : API de fonctions étrangères et de mémoire (préversion) - API de fonctions étrangères et de mémoire (préversion)
  4. 425 : Threads virtuels (Aperçu) - Threads virtuels (Aperçu)
  5. 426 : API vectorielle (quatrième incubateur) - API vectorielle (4e incubateur)
  6. 427 : Correspondance de modèle pour le commutateur (troisième aperçu) - correspondance de modèle de commutateur (troisième aperçu)
  7. 428 : Concurrence structurée (Incubateur) - Concurrence structurée (Incubateur)

JavaSE20

2023-03-21

Nouvelles fonctionnalités du JDK20 :

  1. 429 Valeurs étendues (Incubateur) Valeur étendue (Incubateur)
  2. 432 Modèles d'enregistrement (deuxième aperçu) Modèles d'enregistrement (deuxième aperçu)
  3. 433 Correspondance de modèle pour la correspondance de modèle de commutateur (quatrième aperçu)
  4. 434 API de fonctions étrangères et de mémoire (deuxième aperçu) API de mémoire de fonctions externes (2e édition)
  5. 436 Threads virtuels (deuxième aperçu) Threads virtuels (deuxième aperçu)
  6. 437 Concurrence structurée (deuxième incubateur) Concurrence structurée (deuxième version de l'incubateur)
  7. 438 API Vector (cinquième incubateur) API Vector (cinquième version de l'incubateur)

référence:

Nouvelles fonctionnalités de chaque version de JDK_Features de chaque version de jdk

Je suppose que tu aimes

Origine blog.csdn.net/shaogaiyue9745602/article/details/131015536
conseillé
Classement