Après six mois de développement, Oracle a annoncé la sortie de Java SE 24, basé sur le projet open source OpenJDK, maintenant la compatibilité descendante afin que la plupart des projets précédemment développés continuent de fonctionner sans modifications.
Contrairement aux versions de support à long terme (LTS), Java SE 24 est une version de support régulière, ce qui implique des mises à jour jusqu'à la prochaine version. Pour ceux qui recherchent une stabilité à long terme, Java SE 21 et Java SE 17 continueront d'être pris en charge jusqu'en 2031 et 2029, respectivement. De plus, le support étendu de Java SE 8 LTS se poursuivra jusqu'en 2030, tandis que Java SE 11 restera en vigueur jusqu'en 2032.
Améliorations et nouveautés
Dans cette nouvelle version présentée de Java SE 24, l'un des améliorations les plus importantes est l'introduction de Un mode génératif expérimental pour le ramasse-miettes Shenandoah (conçu pour traiter séparément les objets nouveaux et anciens). Ce nouveau mode améliore l'efficacité lors du nettoyage des objets à courte durée de vie, optimise l'utilisation de la mémoire et offre des performances plus stables sous des charges variables.
Une autre nouveauté qui se démarque est le Prise en charge expérimentale des en-têtes d'objets compacts dans la JVM HotSpot, réduisant sa taille de 96 à 64 bits sur les systèmes 64 bits. Cette optimisation permet de réduire la taille du tas et d’améliorer l’efficacité du cache mémoire.
Le garbage collector G1 a également été optimisé avec une refonte des barrières qui surveillent l'accès à la mémoire par les applications. L'extension de barrière est désormais effectuée plus tard dans le processus de compilation au sein du compilateur C2 JIT, réduisant ainsi sa surcharge jusqu'à 20 %, selon le type d'application.
Améliorations de la sécurité et du cryptage
Java SE 24 introduit une API pour la dérivation de clés cryptographiques (KDF), permettant la génération de clés supplémentaires à partir d'une clé secrète et d'un ensemble arbitraire de données. Cette API, encore en phase de preview, renforce la sécurité dans la gestion des clés au sein de la plateforme.
En outre, Des avertissements concernant l'utilisation des API ont été ajoutés Interface native Java et fonctions et mémoire étrangères, en préparation de la future mise en œuvre d'un mode d'intégrité, qui restreindra l'accès par défaut au code natif. Des avertissements ont également été activés lors de l'utilisation de méthodes d'accès à la mémoire externe via la classe sun.misc.Unsafe, recommandant la migration vers l'API VarHandle.
D'autre part, dans Java SE 24, le prise en charge des algorithmes cryptographiques ML-KEM et ML-DSA (conçu pour être résistant aux attaques informatiques quantiques). Ces algorithmes sont basés sur des problèmes de théorie des réseaux, garantissant que les temps de résolution sont équivalents sur les ordinateurs conventionnels et quantiques.
Le gestionnaire de sécurité Java, qui était obsolète depuis la disparition du support des plugins de navigateur, a été définitivement supprimé.
Optimisations
JVM HotSpot permet désormais de précharger et de lier les classes plus tôt, ce qui accélère considérablement le démarrage de l'application. Lors du premier démarrage, l'état des classes est mis en cache pour faciliter le chargement lors des démarrages ultérieurs.
aussi La mise en œuvre des Scoped Values a été améliorée, qui maintenant ppermet de partager des données immuables entre les threads plus efficacement, en remplaçant le mécanisme traditionnel de variable locale du thread. Cela est particulièrement bénéfique lorsque vous travaillez avec des millions de threads virtuels simultanément.
Une autre nouveauté est le optimisation des threads virtuels dans les états bloqués. Dans cette version, un thread virtuel bloqué libère son thread de plate-forme, lui permettant d'être réutilisé par d'autres threads, améliorant ainsi l'évolutivité sur les systèmes avec une utilisation multithreading élevée.
De l' d'autres changements qui se démarquent:
- Nouvelle extension de l'API Stream, vous permettant de définir des opérations intermédiaires personnalisées.
- Les moteurs de correspondance de modèles ont été améliorés pour prendre en charge les types primitifs (int, byte, char, etc.) dans les expressions de commutation et l'opérateur instanceof.
- Une quatrième version préliminaire de l'API Structured Concurrency a été ajoutée, ce qui simplifie le développement d'applications multithread en traitant les tâches sur différents threads comme une seule unité d'exécution.
- Une manière plus simple de déclarer des classes et de définir la méthode main() a été introduite, éliminant le besoin de définir une classe publique avec des méthodes statiques.
- Une API de fichier de classe a été ajoutée, vous permettant d'analyser, de générer et de transformer des fichiers de classe Java plus facilement et par programmation.
Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans la lien suivant
Télécharger Java SE 24
Pour ceux qui souhaitent installer la nouvelle version de Java SE 24, sachez que les compilations (JDK, JRE et Server JRE) sont déjà prêtes pour Linux, Windows et macOS.