Voilà une information qui n’aura sans doute pas échappé aux développeurs Java. Mardi dernier, Oracle a officiellement annoncé la sortie de Java 11. Soit seulement six mois après Java 10, conformément au nouveau cycle de publication semestriel, plus régulier et plus compétitif, annoncé par Mark Reinhold en 2017 sur son blog : « C’est assez rapide pour minimiser le temps d’attente […] , mais assez lent pour que nous puissions toujours livrer chaque version avec un niveau de qualité élevé ».
Quelles sont les nouvelles fonctionnalités proposées par Java 11, et celles supprimées ? Zoom sur les principales évolutions de la plateforme.
1. Version LTS : pour les développeurs qui misent sur la stabilité
Java 11 est une version Long-term support (LTS), ou support à long terme. Une sûreté de fonctionnement qui conviendra aux développeurs de logiciels libres qui misent sur la stabilité et la fiabilité.
2. Standardisation de L’API HTTP
Incubée dans le JDK 9 puis mise à jour dans le JDK 10, Java 11 standardise l’API HTTP. L’API précédente, disponible jusque-là dans le package jdk.incubator, est quant à elle supprimée.
3. Le ramasse-miettes ZGC disponible sous Linux/x64
Le Z Garbage Collector, ou ZGC, a été ajouté à Java 11, du moins sous Linux/x64. Un ramasse-miettes expérimental « very exciting » selon Sadiq Jaffer & Richard Warburton. Il promet notamment des temps de pause très faibles pour le traitement de tas de plusieurs téraoctets. D’après les deux experts, il permettrait également dans un futur proche de « prendre en charge les blocs multiniveaux DRAM pour les objets actifs et NVMe Flash pour les accès moins fréquents ou les segments compressés ».
4. Algorithmes de chiffrement de Java 11
Java 11 implémente de nouveaux algorithmes de chiffrement, notamment ChaCha20 et Poly1305, et également TLS 1.3, approuvé par l’IETF le 21 mars dernier. Pour rappel, ce protocole de sécurisation des échanges sur Internet implique notamment que les applications client/serveur communiquent de façon à empêcher l’espionnage et la falsification des messages.
5. Fonctionnalités supprimées
Java EE et CORBA, des modules obsolètes depuis Java SE 9, ont été supprimés de Java SE et du JDK. À noter également, la suppression des Applets et de la plateforme de déploiement Web Start. Sans oublier la disponibilité de JavaFX 11 en tant que module Open Source, le JDK n’incluant plus Java FX. Développé indépendamment du JDK, JavaFX est désormais disponible en téléchargement par ici.
6. Outils obsolètes
Cette nouvelle version de la plateforme déprécie notamment :
- JavaScript Nashorn,
- pack200,
- unpack200,
- l’API Pack200 dans java.util.jar.
7. Commercialisation d’Oracle JDK
Autre nouveauté : le JDK d’Oracle est désormais soumis à un accord commercial, il n’est donc plus disponible gratuitement, contrairement à l’OpenJDK (en téléchargement par ici).
Oracle explique cette modification de la licence d’utilisation d’Oracle JDK ainsi : « OracleJDK et les versions d’Oracle OpenJDK étant interchangeables pour les versions de Java SE 11 et ultérieures, Oracle JDK sera principalement destiné aux clients commerciaux […] et les versions OpenJDK d’Oracle seront destinées à ceux qui ne souhaitent pas de support commercial ou d’outils de gestion d’entreprise ».
Pour en apprendre davantage sur la totalité des évolutions de Java 11, n’hésitez pas à jeter un œil à développeurs freelances consciencieux.
Vous faites partie de ces freelances Java passionnés et très compétents ? Rejoignez Jonathan, développeur front-end AngularJS solo.