Pour rappel, les JEP sont les nouveaux processus permettant le développement et le test de fonctionnalités relatives au langage Java ou à sa machine virtuelle, sans recourir au processus complet de spécification (JSR). Par la suite, toute JEP qui a été implémentée avec succès sera intégrée à Java sous la forme de mise à jour ou de nouvelle version.
Cette première JEP introduit trois (03) nouvelles API :
- lightweight JSON API : pour la production et la consommation de documents JSON, l’API serait basée sur les standards JSON déjà supportés.
- HTTP 2 Client : pour le support du HTTP 2.0 et des web sockets, cette API serait une alternative à HttpURLConnection.
- Process API Updates : elle permet d’améliorer le contrôle, la gestion et l’interaction avec les processus non-java, ce qui permettra probablement aux développeurs de s’affranchir du code natif.
L’annonce d’Oracle fait aussi état d’une JNI revue et corrigée selon les directives du Java Native Runtime Project, ainsi que de plusieurs améliorations comme : les verrous d’objets auxquels tentent d’accéder des threads concurrents, la segmentation du code cache du compiler JIT ce qui permettra de meilleures performances et moins de fragmentations pour les applications lourdes ou encore l’amélioration du compilateur Java Intelligent (Smart Java Compiler dit sjavac) pour permettre son utilisation par défaut dans JDK Build.
En revanche, le projet Jigsaw qui a été reporté à Java9 n’est pas présent dans cette première JEP, Oracle souhaite mettre en place une base solide pour son implémentation à travers le Moduler Source Code. Ce dernier se charge de réorganiser OpenJDK en plus de jeter les bases d’une modularité en créant et en imposant des limites aux modules.
Enfin, à l’heure actuelle aucune fonctionnalité étudiée au sein du projet Valhalla ne figure dans la JEP, mais d’autres JEP pourraient venir s’ajouter aux spécifications de Java9 en comprenant, pourquoi pas, des fonctionnalités issues de ce projet.
Source : Annonce sur OpenJDK
Et vous ?
Qu’en pensez-vous ?