![](https://www.developpez.com/images/logos/java-2.gif)
L’objectif du projet Jigsaw est de concevoir et mettre en œuvre un système de modules standards pour Java SE, et d’appliquer ce système pour la plateforme elle-même et pour le JDK. Le projet Jigsaw permettra de découper la bibliothèque d’exécution de base de Java en différents modules. Cela devrait permettre à une machine virtuelle Java (JVM) de fonctionner sans le support de certains packages de base.
À la suite d'un travail préliminaire qui avait abouti à une proposition en 2008, le système de modules du projet Jigsaw allait être l’une des principales innovations de Java 7. Le projet avait été ensuite reporté à Java 8, puis finalement, Oracle avait annoncé sa sortie avec Java 9, prévue pour début 2016.
Oracle fait face à plusieurs défis dans le développement de ce projet qui permettra de redéfinir l’architecture de la plateforme. La principale difficulté à laquelle ont fait face les ingénieurs d’Oracle était liée aux dépendances qui existent entre les packages.
Cette préversion est basée sur Jigsaw m2, qui implémente la JEP (JDK Enhancement Proposals) 200 (qui définit la structure modulaire du JDK), JEP 201 (qui réorganise le code source du JDK sous forme de module) et JEP 220 (qui restructure le runtime du JDK et JRE pour soutenir les modules).
Les développeurs en charge du projet ont débuté avec la JSR (Java Specification Requests) 376, qui permettra de rendre le système de module effectif dans la plateforme Java.
Il faut noter que le passage à un système de module aura également un impact important sur les outils de développement et les Framework. « Nous sommes conscients que ces changements vont briser certaines applications, en particulier les IDE et les outils de développement qui s’appuient sur la structure interne du JDK. », écrit Mark Reinhold, architecte en chef du groupe de la plateforme Java chez Oracle, dans un billet de blog. « Nous pensons cependant que les améliorations des performances, de la sécurité et de la maintenabilité donnent un sens à ces changements. »
Les ingénieurs d’Oracle ont d’ores et déjà contacté les développeurs des principaux environnements de développement pour s’assurer qu’ils ont pris connaissance de ces changements et sont prêts, si nécessaire, à travailler avec ceux-ci.
Mark Reinhold avait déjà fait savoir qu’avec Jigsaw, le format JAR n’avait plus sa place dans le système d’exécution de Java. « Le format JAR a fait son temps, c'est le moment de passer à autre chose », avait affirmé celui-ci. La plateforme Java continuera, cependant, à prendre en charge et à exécuter les applications empaquetées dans les fichiers Jar.
En plus de l’intégration du projet Jigsaw, des modifications ont été également apportées à certaines JEP. Il s’agit notamment de la JEP 158 (Unified JVM Logging), qui introduit un système d’enregistrement commun pour toutes les composantes de la machine virtuelle Java. Cette JEP a été fortement influencée par ce qui existe dans la machine virtuelle JRockit d’Oracle.
La JEP 165 (Compiler Control) a aussi eu droit à des améliorations, tout comme la JEP 214 (Remove GC Combinations Deprecated in JDK 8) et la JEP 213 (Milling Project Coin).
La « Early Access » de JDK 9 est disponible en téléchargement sur le site du projet.
![:fleche:](https://www.developpez.net/forums/images/smilies/fleche.gif)
Source : Billet de blog de Mark Reinhold