Quelle est la signification de profile (compact1, compact2, compact 3) dans la documentation de l'API Java?


Récemment, j'ai appris qu'il y a des annotations comme compact1, compact2, compact3 pour certaines classes, dans la documentation de l'API Java 8.

Ceux-ci semblent s'appeler profile , comme vous pouvez le voir sur la page d'aperçu. (Voir les images ci-dessous.) Le profil, compact1, compact2, compact3 n'apparaissent pas dans la documentation de l'API Java 6 ou 7.

Que signifient-ils dans Java 8 API doc?

entrez la description de l'image ici

entrez la description de l'image ici

Author: ntalbs, 2014-12-24

1 answers

Les profils compacts sont des sous-ensembles des API complètes de la plate-forme Java, pour permettre l'exécution avec un JRE plus petit. De nombreux programmes (en particulier dans les environnements embarqués) n'ont pas besoin de bibliothèques comme Swing ou CORBA-ce sont juste de l'espace gaspillé. À partir de l'Oracle Java SE Embedded 8 Compact Profiles Overview :

Un profil compact est un sous-ensemble de l'API complète de la plate-forme Java SE. Parce qu'ils ont une empreinte de stockage plus petite, les profils compacts peuvent permettre à de nombreuses applications Java de s'exécuter périphériques à ressources limitées. Le choix d'un profil compact qui correspond étroitement aux besoins fonctionnels d'une application minimise le stockage consacré aux fonctions inutilisées. Il existe de nouveaux outils de développement embarqués dans Java SE Embedded 8, notamment jrecreate et jdeps, qui permettent à un développeur de personnaliser l'environnement d'exécution Compact Profile pour une plate-forme et de trouver les dépendances de profil Compact pour analyse pendant le développement de la plate-forme.

Les profils compacts s'adressent uniquement aux choix d'API; ils ne sont pas liés à la machine virtuelle Java, au langage ou aux outils. Il faut donc veiller à faire correspondre la fonctionnalité prise en charge par la machine virtuelle Java avec la prise en charge de l'API nécessaire.

Cette page répertorie également le contenu de chaque profil. Les profils actuellement définis ont tous une relation de sous-ensemble (compact2 comprend compact1, compact 3 comprend compact2).

Utilisez l'option -profile pour compiler avec un profil. {[2] } se plaindra si la source utilise une API non disponible dans le profil, comme dans cet exemple à partir du javac doc :

./javac -profile compact1 Paint.java
Paint.java:5: error: Applet is not available in profile 'compact1'
import java.applet.Applet;
 18
Author: Jeffrey Bosboom, 2014-12-24 07:55:23