Esta versión del producto soporta la especificación de la plataforma Java™, Standard Edition (Java SE) 6. Su JVM (Java Virtual Machine) proporciona un compilador de lenguaje Java y un entorno de ejecución. Decida si las aplicaciones nuevas y las existentes se beneficiarán de las posibilidades que proporciona Java SE 6, ajuste la modalidad JIT (just-in-time) si es necesario y empiece la transición desde las funciones en desuso.
Acerca de esta tarea
Los siguientes JSR son nuevos en Java SE 6:
- JSR 105: XML Digital Signature Application Programming Interfaces (APIs)
- JSR 173: Streaming API for XML (StAX)
- JSR 181: Web Services Metadata
- JSR 199: Java Compiler API
- JSR 202: Java Class-File
Specification Update
- JSR 221: Java DataBase Connectivity
(JDBC) 4.0
- JSR 222: Java Architecture
for XML Binding (JAXB) 2.0
- JSR 223: Scripting for the Java Platform
- JSR 224: Java API for XML-Based Web Services (JAX-WS) 2.0
- JSR 250: Common Annotations
- JSR 269: Pluggable Annotation-Processing API
La nueva especificación de la máquina virtual añada varias características y funciones que ayudan a los desarrolladores de aplicaciones como, por ejemplo, interfaces para integrar los lenguajes de script y Java, solicitud de contraseñas, mejoras para la entrada y salida de archivos y análisis de documentos XML continuos.
Procedimiento
Determine si va a utilizar la modalidad JIT (Just-In-Time) por omisión. Para Java SE 6, la modalidad JIT por omisión para la máquina virtual Solaris depende de la configuración de hardware.
No siempre es de cliente. Con Java SE 6, para el hardware de clase de servidor (lo que significa 2+ CPU y mayor que 2 GB RAM), la máquina virtual conmuta automáticamente a la modalidad JIT del servidor.
Para configurar el parámetro -server o -client a su gusto, establezca los argumentos de la JVM (Java Virtual Machine) de la definición del proceso servidor. Consulte la configuración de la JVM (Java Virtual Machine).
- Decida si se puede beneficiar de las posibilidades de Java SE 6 en sus aplicaciones.
Puede desplegar aplicaciones utilizando las características de Java
SE 6 únicamente en nodos de la versión 7 o posterior, ya que las versiones anteriores del producto no proporcionan la máquina
virtual Java SE 6.
Las aplicaciones que acceden a las clases y API internas para la JVM ( Java Virtual Machine) pueden producir errores. Estas clases y API no están cubiertas por la especificación Java SE 6 y, por lo tanto, están sometidas a cambios. Está totalmente desaconsejado el uso directo de las implementaciones de analizadores XML y XSL como, por ejemplo, el uso directo de clases Xerces y Xalan que proporcionan la implementación JAXP (Java API for XML Processing) para la máquina virtual. Las API del analizador directo se consideran internas y están sometidas a cambios. Las aplicaciones deben confiar únicamente en las API JAXP definidas en la documentación de la API
de Java SE 6. Si la aplicación requiere una versión específica
de Xerces o Xalan, o un paquete de analizador XML/XSL diferente, entonces incorpore el analizador en el directorio dWEB-INF/lib de la aplicación y establezca la modalidad de carga de clases del despliegue de aplicaciones de modo que en su aplicación las API del analizador XML se carguen desde la vía de acceso de la aplicación y no desde la vía de acceso a clases de la rutina de carga de la JVM (Java Virtual Machine). Si no se sigue esta recomendación se pueden generar errores importantes cuando se intenta realizar la migración a un nivel Java SE 6 nuevo.
- Compile las aplicaciones Java SE 6 para que se ejecuten en niveles de Java Virtual Machine anteriores estableciendo las modalidades del compilador.
Cuando compile aplicaciones que se crean con Java SE 6 y que están diseñadas para su ejecución en especificaciones anteriores, asegúrese de que especifica las modalidades -source y -target para el compilador Java SE 6. Al hacerlo se asegura de que el código de bytes generados es compatible con la máquina virtual Java anterior.
Por ejemplo, si la JVM (Java Virtual Machine) de destino está al nivel 1.4.2, cuando compila aplicaciones con Java SE 6, debe especificar
-source 1.4 y -target 1.4 para generar códigos de bytes compatibles con 1.4.2. Esto no maneja el uso de paquetes, clases o funciones que son nuevas en Java SE 6, sólo cubre la salida de códigos de bytes. Los desarrolladores deben prestar atención en relación con las API de los paquetes J2SE que utilizan si piensan ejecutar la aplicación en varios niveles de especificación de la JVM (Java Virtual Machine).
- Solucione las incompatibilidades con las aplicaciones J2SE (Java 2 Standard Edition) 1.4 y 5.0.
Java SE 6 es compatible con los binarios de versiones
posteriores de Java 2 Technology Edition, Versión 5.0 y Java 2 Technology Edition,
Versión 1.4.2, salvo las incompatibilidades que indica Oracle Corporation en
http://java.sun.com/javase/technologies/compatibility.jsp.
- Transición desde las funciones en desuso de JVMDI (Java Virtual Machine Debug Interface) y JVMPI (Java Virtual Machine Profiler Interface) a JVMTI (Java Virtual Machine Tool Interface).
Deprecated feature: Las funciones JVMDI y JVMPI están en desuso en J2SE 5.0. Se han suprimido de Java SE 6.
depfeat
- Actualice el uso de la interfaz de línea de mandatos Java.
Las interfaces de línea de mandatos para el nivel de Java SE 6 no se han modificado de forma importante desde
J2SE 5, aunque varían según los proveedores de las máquinas virtuales. Puede encontrarlas en el directorio
JAVA_HOME/bin.
Las siguientes son algunas opciones de línea de mandatos importantes que son un estándar para todas las implementaciones de Java SE 6.
- Para JVMTI, utilice -agentlib para cargar la biblioteca de agente nativa que especifique.
- Para JVMTI, utilice -agentpath para cargar la biblioteca de agente nativa mediante el nombre completo de la vía de acceso.
- Para JVMTI, utilice -javaagent para cargar el agente del lenguaje de programación Java (consulte java.lang.instrument para obtener información detallada).
- Consulte apt -help para obtener información acerca de esta línea de mandatos nueva que da soporte a la función de anotación.
- Consulte javac -help para obtener información y las actualizaciones de dicha línea de mandatos.
- Actualizar las tareas ANT.
Si ha creado tareas ANT basándose en la tarea ANT idltojava incluida con las versiones anteriores del producto, asegúrese de que pasa los parámetros correctos para Java SE 6 como lo hace para J2SE 1.4 o 5, para asegurarse de que los apéndices o vínculos y los esqueletos que genera sean compatibles con releases anteriores del producto.