Cette version du produit prend en charge la spécification Java™ Platform, Standard Edition (Java SE) 6. La machine virtuelle Java fournit un compilateur de langage et un environnement d'exécution Java.
Vos nouvelles applications et celles qui existent déjà peuvent bénéficier des fonctions ajoutées par Java SE 6. Si vous optez pour cette solution, modifiez le mode JIT (just-in-time) le cas échéant et commencez la transition à partir des fonctions obsolètes.
Pourquoi et quand exécuter cette tâche
Les JSR suivants sont nouveaux dans Java SE 6 :
- JSR 105 : Interfaces de programmation d'application pour la signature numérique XML
- JSR 173 : Streaming API for XML (StAX)
- JSR 181 : Métadonnées de services Web
- JSR 199 : API de compilateur Java
- JSR 202 : Mise à jour de la spécification de fichier classe Java
- JSR 221 : JDBC (Java DataBase Connectivity) 4.0
- JSR 222 : JAXB (Java Architecture for XML Binding) 2.0
- JSR 223 : Scriptage pour la plateforme Java
- JSR 224 : Java API for XML-Based Web Services (JAX-WS) 2.0
- JSR 250 : Annotations communes
- JSR 269 : API de traitement des annotations connectable
La nouvelle spécification de machine virtuelle ajoute plusieurs caractéristiques et fonctions utiles aux développeurs d'applications, telles que des interfaces permettant d'intégrer les langages de script et Java, des invites de mot de passe, des améliorations des entrées et des sorties de fichier ainsi que l'analyse des documents XML de flux de données.
Procédure
Déterminez s'il est judicieux d'utiliser le mode JIT (just-in-time) par défaut. Pour Java SE 6, le mode JIT par défaut de la machine virtuelle Solaris dépend de la configuration matérielle. Ce n'est pas forcément client.
Avec Java SE 6, pour du matériel de classe de serveur (soit deux unités centrales ou plus et plus de 2 Go de mémoire RAM), la machine virtuelle passe automatiquement en mode JIT serveur.
Pour configurer le paramètre -server ou -client selon vos besoins, définissez les arguments de machine virtuelle Java génériques de la définition des processus serveur. Voir les paramètres de la machine virtuelle Java.
- Choisissez d'utiliser ou non les nouvelles fonctions Java SE 6 dans vos applications.
Vous ne pouvez déployer des applications à l'aide des nouvelles fonctions Java SE 6 que sur les noeuds de la version 7 ou ultérieure, car les versions précédentes ne fournissent pas la machine virtuelle Java SE 6.
Les applications qui accèdent aux classes et aux API au sein de la machine virtuelle Java risquent de générer des erreurs. Ces classes et API ne sont pas prises en charge par la spécification Java SE 6 et sont donc susceptibles de changer. L'utilisation directe d'implémentations d'analyseurs syntaxiques XML et XSL est fortement déconseillée ainsi que l'utilisation des classes Xerces et Xalan qui fournissent l'implémentation JAXP (Java API for XML Processing) pour la machine virtuelle. Les API d'analyseur syntaxique sont également considérées comme internes et peuvent être modifiées. Les applications ne doivent reposer que sur les API JAXP définies dans la documentation de l'API Java SE 6. Si votre application nécessite une version spécifique de Xerces ou Xalan, ou un autre package d'analyseur syntaxique XML/XSL, vous devez inclure l'analyseur syntaxique dans le répertoire WEB-INF/lib de votre application et définir le mode de chargement de classe approprié dans votre déploiement d'application afin que les API de l'analyseur syntaxique XML soient chargées pour votre application à partir du chemin de classes de l'application et non du chemin de classes de l'amorce JVM (Java virtual machine). Si vous ne suivez pas ces consignes, des erreurs peuvent se produire lors de la migration vers un nouveau niveau Java SE 6.
- Compilez les applications Java SE 6 devant s'exécuter sur des niveaux précédents de machine virtuelle Java en paramétrant les modes de compilateur.
Lors de la compilation d'applications générées avec Java SE 6 et devant s'exécuter sur de précédentes spécifications, indiquez les modes
-source et -target pour le compilateur Java SE 6.
Le code intermédiaire généré sera ainsi compatible avec la machine virtuelle Java précédente.
Par exemple, si la machine virtuelle Java cible est au niveau 1.4.2, lorsque vous compilez des applications avec Java SE 6, vous devez indiquer
-source 1.4 et target
1.4 pour générer un code intermédiaire compatible avec 1.4.2. Cette opération ne permet pas de gérer l'utilisation des nouveaux packages, classes ou fonctions de Java SE 6 ; elle traite uniquement la sortie du code intermédiaire. Les développeurs doivent tenir compte des API qu'ils utilisent dans les packages J2SE s'ils souhaitent exécuter l'application sur plusieurs niveaux de spécification de machine virtuelle Java.
- Incompatibilités d'adresse dans les applications Java 2 Standard
Edition (J2SE) 1.4 et 5.0 déjà compilées
Java SE 6 est compatible au niveau binaire de façon ascendante avec Java 2 Technology Edition, version 5.0 et Java 2 Technology Edition, version 1.4.2, à l'exception des incompatibilités mentionnées par Oracle Corporation à l'adresse suivante : http://java.sun.com/javase/technologies/compatibility.jsp.
- Transition à partir des fonctions obsolètes JVMDI (Java Virtual Machine Debug Interface) et JVMPI (Java Virtual Machine Profiler Interface) vers JVMTI (Java Virtual Machine Tool Interface).
Fonction obsolète: Les fonctions JVMDI et JVMPI étaient obsolètes dans la version J2SE 5.0. Elles ont été supprimées de Java SE 6.
depfeat
- Mettez à jour l'utilisation de l'interface de ligne de commande Java.
Les interfaces de ligne de commande pour le niveau Java SE 6 n'ont pas beaucoup changé
par rapport à J2SE 5, bien qu'elles soient différentes d'un fournisseur de machine virtuelle à l'autre. Vous les trouverez dans le répertoire
JAVA_HOME/bin.
Voici quelques options de ligne de commande qui sont valables pour toutes les implémentations Java SE 6.
- Pour JVMTI, utilisez -agentlib pour charger une bibliothèque d'agent native que vous définissez
- Pour JVMTI, utilisez -agentpath pour charger la bibliothèque d'agent native
avec le chemin d'accès complet.
- Pour JVMTI, utilisez -javaagent pour charger l'agent de langage de programmation Java (voir java.lang.instrument pour plus de détails).
- Voir apt -help pour de plus amples informations sur cette nouvelle ligne de commande prenant en charge la fonction de commentaire
- Voir javac -help pour de plus amples informations sur cette ligne de commande et les mises à jour.
- Mettez à jour les tâches ANT.
Si vous avez créé des tâches ANT reposant sur la tâche
idltojava ANT mise à disposition dans les versions précédentes de ce produit, vous devez vous assurer qu'elle transfère les paramètres corrects pour Java SE 6 de la même façon que pour J2SE 1.4 ou 5 pour garantir que les modules de remplacement et les squelettes qu'elle génère sont compatibles avec les versions précédentes du produit.