Maison  >  Article  >  Java  >  Qu’est-ce que le projet Jigsaw dans Java 9 ?

Qu’est-ce que le projet Jigsaw dans Java 9 ?

王林
王林avant
2023-08-31 18:13:021276parcourir

Java 9中的项目Jigsaw是什么?

L'objectif principal du projet Jigsaw est d'introduire le concept de modularité, de créer des modules en Java 9 puis de les appliquer au JDK.

Voici quelques avantages de la modularité (Jigsaw) :

  • Encapsulation forte : Les modules ne peuvent accéder qu'aux pièces disponibles. Les classes publiques d'un package ne peuvent pas être publiques à moins que le package ne soit explicitement exporté vers le fichier module-info.java.
  • Dépendances explicites : Les modules doivent déclarer les autres modules qu'ils utilisent. Les modules sont combinés pour créer une durée d'exécution plus courte qui peut être facilement adaptée à des appareils informatiques relativement petits.
  • Fiabilité : L'application devient plus fiable une fois les erreurs d'exécution éliminées. Par exemple, nous devons noter que notre application échoue à l'exécution en raison d'une ClassNotFoundException due à une classe manquante.

Voici les différents JEP (JDK Enhancement Proposals) qui font partie du projet Jigsaw :

JEP 200 - JDK modulaire : il utilise le Java Platform Module System (JPMS) pour modulariser le JDK. dans un ensemble de modules assemblés au moment de la construction, de la compilation ou de l'exécution.

JEP 201 - Code source modulaire : Il modularise le code source du JDK et met à niveau les outils de build pour compiler les modules.

JEP 220 - Image d'exécution modulaire : elle permet de réorganiser les images d'exécution JRE et JDK pour accueillir des modules afin d'améliorer la sécurité, les performances et la maintenabilité.

JEP 260 - Encapsule la plupart des API internes : Il permet d'accéder à la plupart des API internes directement, ou par réflexion. Accéder aux API internes est assez dangereux car elles peuvent changer. Pour empêcher l'utilisation de ces API, elles sont compressées en modules et seules les API internes disponibles peuvent être utilisées.

JEP 261 - Système de modules : Il est responsable de la mise en œuvre de la spécification Java du système de modules en modifiant la JVM, le langage de programmation Java et d'autres API standard.

JEP 282 - Java Linker Jlink : Il permet de regrouper des modules et leurs dépendances dans des runtimes plus petits.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer