Java 24 est là

Dev

DSI, il est temps de se mettre à l’heure de Java 24

Par Laurent Delattre, publié le 20 mars 2025

Oracle a officialisé cette semaine Java 24, la nouvelle déclinaison du langage toujours très populaire en entreprise. Une déclinaison qui officialise bien des nouveautés expérimentées sur les précédentes versions, mais qui ouvre aussi la porte à d’autres fonctionnalités expérimentales pour assurer la pertinence du langage dans un monde d’IA et d’ordinateurs quantiques… et préparer l’arrivée de Java 25.

Alors que Java s’apprête à fêter ses 30 ans cette année, la sortie de Java 24 marque une étape importante pour ce langage qui demeure un pilier du développement d’applications d’entreprise. Malgré l’émergence de langages plus récents comme Python, C# ou Kotlin, Java conserve une place prépondérante dans l’écosystème technologique mondial. Alors, oui, bien sûr, la popularité de Python a fait de l’ombre à Java, même si les usages sont différents. Mais malgré les années, il est toujours sur le podium des 3 langages les plus populaires sur l’indice TIOBE (en 3ème place), sur l’indice PYPL (en seconde place), et sur l’indice Redmonk (3ème place).

Cette omniprésence se confirme par les chiffres : selon une enquête Azul publiée en janvier, près de 7 entreprises sur 10 déclarent que plus de la moitié de leurs applications tournent sur Java. Le langage reste dominant dans plusieurs secteurs stratégiques : les applications cloud et microservices (avec des géants comme Netflix, LinkedIn ou Amazon AWS en utilisateurs phares), la finance et la banque (systèmes de trading haute performance, gestion des risques), le développement web d’entreprise, et le Big Data (Hadoop, Kafka, Elasticsearch).

IA & Post-Quantique : Java en quête de modernité

Fait amusant, Java 24 apporte 24 améliorations majeures qui renforcent le positionnement du langage à l’ère de l’intelligence artificielle et de la cybersécurité avancée.

« Avec plus de 20 nouvelles fonctionnalités couvrant tous les éléments de Java, dont de nouvelles capacités d’IA et de cryptographie post-quantique, la version Java 24 donne aux développeurs les outils nécessaires pour créer des applications innovantes intégrant l’IA » explique Georges Saab, vice-président senior de la plateforme Java chez Oracle.

« De quoi parlons-nous quand on évoque l’IA ? Des outils que les développeurs utilisent pour générer du code ? De l’intégration de votre logique métier existante dans l’inférence IA ? Ou peut-être du calcul IA s’exécutant sur un GPU ? La bonne nouvelle est que non seulement Java 24 se porte bien sur tout ce continuum, quelle que soit votre définition de l’IA, mais nous avons également introduit des fonctionnalités pour couvrir tout ce spectre » explique ainsi le responsable Oracle.

L’enquête d’Azul révèle que la moitié des entreprises utilisent désormais Java pour développer des applications d’IA. Pour soutenir cette tendance, Java 24 introduit plusieurs améliorations spécifiques, notamment l’API Vector (neuvième incubation), qui permet d’exprimer des calculs vectoriels se compilant de manière optimale sur différentes architectures CPU – une fonctionnalité essentielle pour l’inférence et les calculs d’IA. Par ailleurs, Java 24 introduit des extensions pour simplifier l’inférence IA depuis Java. Notamment grâce à l’intégration d’un projet en gestation de longue date « Project Panama ». Ce dernier simplifie les interactions entre Java et les langages natifs. « Les moteurs d’inférence et les bibliothèques UA sont généralement écrits en langage natif pour fonctionner au plus près du processeur CPU ou GPU. Project Panama simplifie l’intégration de ces bibliothèques natives et leur exposition à la logique métier écrite en Java et facilite notamment le travail avec les types primitifs obtenus des moteurs d’inférence » déchiffre George Saab.

Java 24 marque également une avancée significative vers la sécurité post-quantique avec deux fonctionnalités majeures : un mécanisme d’encapsulation de clés basé sur réseau modulaire (ML-KEM) et un algorithme de signature numérique basé sur réseau modulaire (ML-DSA). Ces implémentations, conformes aux normes du NIST, préparent Java à résister aux futures attaques utilisant l’informatique quantique.

« Il n’y a pas nécessairement d’accord sur le moment où les ordinateurs quantiques deviendront suffisamment pratiques pour rendre obsolètes les schémas cryptographiques traditionnels, mais il y a un consensus sur le fait que c’est une éventualité. Nous devons donc planifier l’obsolescence des schémas cryptographiques actuels » rappelle George Saab. « Nous introduisons des algorithmes prêts pour le calcul quantique pour la génération de clés, l’encapsulation de clés (donc essentiellement le partage de clés de manière sécurisée), puis également pour les algorithmes de signature. »
Interrogé sur les impacts d’interopérabilité avec l’existant, mais aussi l’impact sur les performances de cette nouvelle cryptographie post-quantique, George Saab explique que si l’implémentation de TLS 1.3 a appris une chose aux équipes d’ingénierie de Java c’est que « la performance doit être aussi optimale que possible. L’une des choses que nous avons faites avec TLS 1.3 a été d’investir massivement dans la performance avant d’essayer de faire le rétro-portage vers les anciennes versions de Java qui fonctionnent en réalité souvent sur du matériel ancien. Parce que, si nous faisons le rétro-portage et que c’est insupportablement lent et inutilisable, nous n’avons rien accompli ».

Avant d’ajouter, « de même, je ne pense pas que nous aurons des défis d’interopérabilité, simplement en raison de la nature enfichable de l’architecture cryptographique, la JCA (l’architecture cryptographique Java), et le fait que nous commençons juste par le bas de la stack ».

Les autres améliorations majeures de Java 24

Au-delà de l’IA et de la sécurité, Java 24 apporte de nombreuses améliorations qui renforcent la productivité des développeurs et les performances d’exécution :

* Chargement et liaison de classes en avance de phase (AOT) : améliore les temps de démarrage en rendant les classes instantanément disponibles au lancement de la JVM.

* Les Stream Gatherers : enrichit l’API Stream pour permettre des opérations intermédiaires personnalisées, facilitant les transformations complexes de données. Elle donne aux développeurs un contrôle précis sur la façon dont les éléments sont groupés et traités dans les flux.

* API Class-File : offre une interface standard pour analyser, générer et transformer les fichiers de classes Java.

* Synchronisation des threads virtuels sans blocage : améliore la scalabilité du code Java en permettant aux threads virtuels de libérer leur plateforme sous-jacente.

* Shenandoah générationnel (expérimental) : améliore le ramasse-miettes Shenandoah avec des capacités de collecte générationnelle pour un meilleur débit et une meilleure utilisation de la mémoire.

« Je voudrais aussi souligner l’élan continu de notre plugin VS Code (Visual Studio Code). Nous avons dépassé deux millions et demi de téléchargements récemment, et l’une des particularités de notre plugin VS Code est qu’il est basé sur notre propre compilateur » ajoute George Saab.

Séduire une nouvelle génération de développeurs

Face à la montée en popularité de langages comme Python pour l’enseignement de la programmation, Oracle a pris conscience de la nécessité de rendre Java plus accessible aux nouveaux développeurs. Java 24 poursuit cet effort avec l’introduction de simplifications permettant aux débutants d’écrire leurs premiers programmes sans avoir à comprendre les fonctionnalités conçues pour les grands programmes. « L’un des retours formulés par les enseignants et les élèves est qu’il y a beaucoup trop de code ‘passe-partout’ pour créer un simple hello world. Nous avons donc travaillé dur au cours des dernières versions de Java pour éliminer ce code passe-partout » explique Donald Smith, vice-président de la gestion des produits chez Oracle

Outre ces simplifications « grammaticales » au cœur du langage, Oracle reconnaît que le poids de l’historique Java, des documentations qui se sont entassées, de la richesse des bibliothèques peut s’avérer « un peu écrasante pour les débutants. C’est pourquoi, parallèlement à Java 24, nous annonçons Learn.java, un nouveau portail dédié aux enseignants et aux étudiants. »

Ce portail, lancé cette semaine lors de la conférence JavaOne 2025, vise à offrir une introduction progressive à Java, permettant aux débutants de graduellement monter en compétence vers les portails plus avancés « Dev.java » et « Inside.java ». Cette initiative s’inscrit dans une stratégie plus large pour maintenir la pertinence de Java dans l’éducation et attirer une nouvelle génération de développeurs. L’effort est louable, reste à vérifier s’il séduira une nouvelle génération de développeurs plus portée vers python et l’usage des IA pour coder à leur place.

Les enjeux des licences Java

La question des licences reste un sujet sensible dans l’écosystème Java. Oracle continue d’offrir gratuitement le JDK pour un usage personnel et en développement, mais maintient son modèle commercial pour les déploiements en production en entreprise. Et le modèle de licence a connu des changements significatifs depuis l’acquisition de Sun Microsystems par Oracle en 2010. Depuis 2018, la firme a adopté un modèle d’abonnement pour le support, avec d’autres modifications en 2021 et 2023, notamment le passage d’une structure tarifaire basée sur l’utilisateur à un système de facturation par employé.

« Depuis qu’Oracle a commencé à encourager activement les clients à s’abonner, beaucoup ont choisi de remplacer le Java d’Oracle par l’une des alternatives tierces gratuites, » indique ainsi un rapport Gartner de janvier 2025.

Selon l’étude d’Azul, la proportion d’utilisateurs Java sous licence officielle Oracle est passée de 70% à environ 30% au cours des six dernières années. Près de 9 répondants sur 10 envisagent de migrer vers des alternatives open source, une augmentation par rapport aux 7 sur 10 qui avaient répondu de manière similaire en 2023.

En réponse, Oracle rappelle avoir introduit l’abonnement Java SE il y a sept ans et se dit « très satisfait de cette activité ». Donald Smith rappelle en outre que « nos produits d’abonnement et les produits Oracle Java en général, ne sont pas liés aux versions. Donc nos clients peuvent aussi bien exécuter Java 24 ou Java 8. Si vous êtes un client abonné, lorsque nous introduisons une nouvelle version, vous obtenez automatiquement le support et les droits qui l’accompagnent, ainsi que toutes les fonctionnalités d’entreprise qui viendraient avec ».

En attendant Java 25

Trente ans après sa création, Java démontre avec sa version 24 sa capacité à évoluer tout en préservant sa compatibilité ascendante. Dans un monde technologique où les langages vont et viennent, cette longévité exceptionnelle témoigne d’une conception robuste et d’une communauté engagée. Sa fiabilité, son efficacité et la richesse de ses bibliothèques lui ont permis de s’imposer du cloud au mobile, en passant par la finance, le web et le Big Data.

Pour autant, le langage se trouve aujourd’hui à un carrefour stratégique : d’un côté, il continue d’être le fondement de nombreuses applications critiques pour les entreprises; de l’autre, il doit s’adapter à un paysage technologique en rapide évolution, où l’IA transforme la façon dont le code est écrit et déployé.

Avec ses 24 JEPs (Java Enhancement Proposals) et plus de 3 000 corrections de bugs et améliorations mineures, Java 24 démontre qu’après trois décennies, le langage continue d’évoluer significativement pour répondre aux besoins des développeurs modernes tout en restant fidèle à ses principes fondamentaux de fiabilité et portabilité.

Aussi novatrice que soit cette version Java 24, elle reste une version à support court (six mois). Son rôle est en réalité surtout de préparer le terrain et les développeurs à la prochaine version LTS (Long-Term Support), Java 25, attendue pour septembre 2025 avec huit ans de support.

À LIRE AUSSI :

À LIRE AUSSI :

Dans l'actualité

Verified by MonsterInsights