Feuille de route du développement Java pour 2025-2026 : principales orientations et innovations
L'écosystème Java continue d'évoluer activement, et les deux prochaines années promettent d'être parmi les plus marquantes de la dernière décennie. En 2025-2026, l'équipe Oracle et OpenJDK se concentreront sur l'achèvement de projets majeurs qui changeront radicalement l'approche de l'écriture d'applications à forte charge et sécurisées. Nous analysons les principales orientations d'évolution du langage.
1. Achèvement du projet Loom : les threads virtuels à un nouveau niveau
Le projet Loom, lancé comme expérimental, se stabilisera définitivement en 2025. Les threads virtuels (Virtual Threads) sont déjà disponibles dans Java 21, mais en 2025-2026, on attend :
- La concurrence structurée (Structured Concurrency) — simplification du travail avec des groupes de threads et l'annulation de tâches.
- Les valeurs de portée (Scoped Values) — remplacement de ThreadLocal pour un transfert sécurisé de données dans le cadre des threads virtuels.
- L'optimisation de l'ordonnanceur — meilleure répartition de la charge sur les cœurs physiques du processeur.
Cela permettra d'écrire des applications serveur évolutives avec un minimum de frais généraux de gestion des threads.
2. Projet Valhalla : value types et génériques universels
Le projet Valhalla, très attendu, vise à éliminer l'un des principaux goulots d'étranglement de Java — le boxing/unboxing des types primitifs. En 2025-2026, on attend :
- Les Value Classes — des classes légères sans identité (fonctionnent comme des primitifs, mais avec des méthodes).
- La spécialisation des génériques — possibilité de créer
List<int>sans autoboxing, ce qui réduira considérablement la charge sur le GC. - Les types Inline — optimisation du stockage des données dans le tas et la pile.
Selon des tests préliminaires, les performances des opérations sur les collections pourraient être multipliées par 3 à 5.
3. Amélioration de la sécurité et du ramasse-miettes
La sécurité reste une priorité. Dans les nouvelles versions, sont prévus :
- Renforcement du système modulaire — un contrôle plus strict de l'exportation des paquets via
module-info.java. - Nouveau GC — Generational ZGC — réduction des latences du ramasse-miettes de 40 % grâce à la séparation des jeunes et des vieilles générations.
- Dépréciation des API obsolètes — suppression définitive du Security Manager et des méthodes obsolètes de travail avec la réflexion.
4. Extension des capacités du langage
Outre les grands projets, des améliorations ponctuelles de la syntaxe sont attendues en 2025-2026 :
- Pattern Matching pour switch — prise en charge de motifs arbitraires sans restriction de type.
- Record Patterns — déconstruction des records en une seule ligne.
- Blocs de texte et modèles de chaînes — amélioration de la lisibilité des chaînes multilignes.
5. Outils et écosystème
Parallèlement, l'infrastructure évolue :
- JBang et outils de prototypage rapide — Java devient plus pratique pour les scripts et les petites utilitaires.
- Amélioration de la compatibilité avec GraalVM — la compilation native deviendra plus rapide