Nota: antes de utilizar esta información y el producto al que da soporte, asegúrese de leer la información general que aparece en Avisos.
Esta edición de la Guía del usuario corresponde a estas plataformas a medida que estén disponibles:
y a todos los releases y modificaciones siguientes hasta que se indique lo contrario en nuevas ediciones.
(c) Copyright Sun Microsystems, Inc. 1997, 2003, 901 San Antonio Rd., Palo Alto, CA 94303 USA. Reservados todos los derechos.
(c) Copyright International Business Machines Corporation, 1999, 2004. Reservados todos los derechos.
Derechos restringidos para los usuarios del Gobierno de los Estados Unidos - Su uso, duplicación o divulgación están restringidos por el GSA ADP Schedule Contract con IBM Corp.
Esta Guía del usuario describe el IBM(R) Runtime Environment para todas las plataformas Linux. La información específica de una plataforma aparece marcada claramente como tal. Asegúrese de leer el material relacionado con su plataforma. En concreto, Web Start y el Plug-in son específicos para 32-bit SDK for Linux sobre arquitectura Intel.
El IBM Runtime Environment contiene la Java Virtual Machine (JVM), clases Java de Sun Microsystems centrales y archivos de soporte. El Runtime Environment no contiene todas las clases que se encuentran en el paquete del SDK.
La Guía del usuario proporciona información general sobre el Runtime Environment e información específica sobre las diferencias en la implementación de IBM del Runtime Environment comparada con la implementación de Sun. Lea esta Guía del usuario además de la documentación más amplia que se proporciona en el sitio Web de Sun: http://java.sun.com.
La guía IBM JVM Diagnostics Guide proporciona información más detallada sobre IBM JVM.
Para obtener una lista de distribuciones sobre las que se ha comprobado el SDK para Linux, consulte: http://www-106.ibm.com/developerworks/java/jdk/linux/tested.html
Tenga en cuenta que el Runtime Environment para Linux es un subconjunto del SDK y sólo le permite ejecutar aplicaciones Java. Si ha instalado el SDK, está incluido el Runtime Environment.
Los términos "Runtime Environment" y "Java Virtual Machine" se utilizan de manera indistinta a lo largo de esta Guía del usuario.
Los cambios técnicos de esta Guía del usuario de la Versión 1.4.2, que no sean los menores u obvios como la actualización de la versión "1.4.1" a "1.4.2", están indicados en rojo cuando se trata de HTML o una copia impresa en color y mediante barras verticales a la izquierda de los cambios.
El Runtime Environment para Linux contiene el subconjunto de clases necesarias para crear un entorno de ejecución Java y para ejecutar programas Java. También contiene la JVM (Máquina Virtual Java), clases Java y archivos de soporte. El Runtime Environment para Linux contiene solamente un subconjunto de las clases incluidas en el SDK.
| | |A lo largo de esta Guía del usuario se hace referencia al directorio de instalación por omisión como /opt/IBMJava2-142/. |Las plataformas listadas a continuación tienen los directorios de instalación por omisión siguientes; utilice el |directorio adecuado para la plataforma cuando aparezca /opt/IBMJava2-142/:
|En general, cualquier applet o aplicación que se ejecute en la versión 1.1.8, 1.2.2 ó 1.3.1 del SDK para Linux debería ejecutarse correctamente en esta versión. Los applets que dependen de las API Java 1.4.2 de Sun sólo funcionan en navegadores que soportan las API Java 1.4.2.
No se garantiza que las clases 1.4.2 compiladas funcionen en releases del Runtime Environment anteriores al 1.4.0.
| | |El Runtime Environment v1.4.2 no está soportado en SLES 8. |Si desea ejecutar el SDK en SLES 8, utilice el SDK v1.4.1 SR1.
El Runtime Environment para Linux incluye archivos .so no depurables y los archivos de clases necesarios para dar soporte a un programa durante el tiempo de ejecución. El Runtime Environment para Linux no incluye ninguna de las herramientas de desarrollo, del tipo appletviewer o javac, ni clases que pudieran pertenecer sólo a un sistema de desarrollo.
Además, el paquete de la interfaz de programas de aplicación (API) Java Communications se proporciona para su uso con el Runtime Environment para Linux. (Excepto en Linux IA de 64 bits y Linux zSeries de 31 bits y 64 bits).
El archivo LICENSE_xx.html contiene el acuerdo de licencia del software Runtime Environment para Linux. xx es la abreviatura del idioma.
Para ver o imprimir el acuerdo de licencia, abra el archivo en un navegador Web.
El compilador JIT (just-in-time) (libjitc.so) genera dinámicamente el código máquina utilizado con frecuencia por secuencias de código de bytes en aplicaciones o applets Java mientras se están ejecutando.
Runtime Environment para Linux incluye el JIT (libjitc.so), que, por omisión, está habilitado. Es posible inhabilitar el JIT para contribuir a aislar un problema con una aplicación Java, un applet o el mismo compilador.
Para inhabilitar el compilador JIT, escriba lo siguiente en el indicador de shell en la ventana donde ejecutará la aplicación:
export JAVA_COMPILER=NONE
Para habilitar el compilador JIT, escriba lo siguiente en el indicador de shell :
export JAVA_COMPILER=jitc
Para verificar si el JIT está habilitado o no, escriba lo siguiente en el indicador de shell:
java -version
Si el JIT se está utilizando, aparece un mensaje que incluye lo siguiente:
(JIT enabled: jitc)
Si el JIT no se está utilizando, aparece un mensaje que incluye:
(JIT disabled)
La JNI (interfaz nativa de Java) se incluye con el Runtime Environment. Para obtener información sobre cómo utilizar la JNI, consulte el sitio Web de Sun: http://java.sun.com.
IBM no da soporte a la interfaz de métodos nativa en este release. No utilice esta interfaz en sus aplicaciones.
| | |El Runtime Environment depende de la biblioteca compartida /usr/lib/libstdc++-libc6.2-2.so.3. |Esta biblioteca no se instala por omisión para RedHat Enterprise Linux (RHEL) 3.0.
|El rpm que contiene esta biblioteca es compat-libstdc++-7.3-2.96.122.i386.rpm. Para instalar la |biblioteca, en el indicador de shell escriba:
|rpm -ivh compat-libstdc++-7.3-2.96.122.i386.rpm|
Para incluir la biblioteca durante la instalación de RHEL 3:
|
Después de instalar el Runtime Environment para Linux, edite el script de inicio de sesión del shell y añada este directorio a su sentencia PATH:
/opt/IBMJava2-142/jre/bin
Si ha instalado el Runtime Environment para Linux en un directorio distinto, sustituya /opt/IBMJava2-142/ por el directorio en el que ha instalado el Runtime Environment.
La forma de eliminar el Runtime Environment depende de si se ha instalado el paquete instalable Red Hat Package Manager (RPM) o el paquete comprimido Tape Archive (TAR). Consulte Desinstalación del paquete instalable Red Hat Package Manager (RPM) o Desinstalación del paquete comprimido Tape Archive (TAR) para obtener instrucciones.
Para desinstalar el Runtime Environment para Linux si ha instalado el paquete instalable RPM:
rpm -e IBMJava2-JRE-1.4.2
rpm -e IBMJava2-JRE-ppc-1.4.2
rpm -e IBMJava2-JRE-ppc64-1.4.2
Para desinstalar el Runtime Environment para Linux si ha instalado el paquete comprimido TAR:
El puente JDBC/ODBC, que se había eliminado del IBM SDK, v1.4.0, |se ha restablecido para v1.4.2.
La herramienta java inicia una aplicación Java.
La JVM busca la clase de arranque y otras clases utilizadas en tres pasos de localización: la classpath de la rutina de carga, las extensiones instaladas y la vía de acceso de clases del usuario. Los argumentos que van después del nombre de clase o nombre de archivo JAR se pasan a la función principal.
El mandato javaw es idéntico a java, excepto que javaw no tiene una ventana de consola asociada. Utilice javaw si no desea que aparezca una ventana indicadora de mandatos. El iniciador javaw muestra un recuadro de diálogo con información de error si se produce una anomalía durante el inicio.
Los mandatos java y javaw tienen la sintaxis siguiente:
java [ opciones ] clase [ argumentos ... ] java [ opciones ] -jar archivo.jar [ argumentos ... ] javaw [ opciones ] clase [ argumentos ... ] javaw [ opciones ] -jar archivo.jar [ argumentos ... ]
Los elementos que aparecen entre corchetes son opcionales.
Si se especifica la opción -jar, el archivo JAR especificado contiene los archivos de clases y recursos de la aplicación, con la clase de arranque indicada mediante la cabecera de manifiesto Main-Class (clase principal).
El iniciador tiene un conjunto de opciones estándar a las que el Runtime Environment da soporte actualmente y en releases futuros. Además, existe un conjunto de opciones no estándar.
Las opciones -X que se listan más abajo son un subconjunto de las que están disponibles. No son estándar y están sujetas a cambios sin previo aviso.
El mandato java y otros mandatos del iniciador java (como javaw) permiten especificar un nombre de clase con cualquier carácter Unicode que esté en el juego de caracteres del entorno local actual.
Puede especificar cualquier carácter Unicode en el nombre de clase y argumentos utilizando secuencias de escape java. Para hacerlo, debe especificar -Xargencoding. Para especificar un carácter Unicode, utilice secuencias de escape con el formato \u####, donde # es un dígito hexadecimal (0 a 9, A a F).
Para especificar que el nombre de clase y los argumentos del mandato están en codificación UTF8 o ISO8859_1, utilice -Xargencoding:utf8 y -Xargencoding:latin.
En el Runtime Environment, si utiliza un entorno local distinto de inglés, los mandatos java y javaw proporcionan mensajes de salida traducidos. Estos mensajes son distintos de los de la versión 1.3.1 y también varían dependiendo del entorno local en que se ejecuta Java. Las descripciones de error y otra información de depuración devuelta por java está en inglés. La información de depuración devuelta durante la instalación se muestra entre corchetes.
En el Runtime Environment, puede especificar un nombre de clase como nombre de archivo completo incluida la vía de acceso completa y la extensión .class. En versiones anteriores del SDK, sólo se podía especificar la clase relativa a la CLASSPATH y no permitía la extensión .class. La utilización del nombre de archivo completo permite iniciar una aplicación java desde el escritorio o iniciador de archivos. Si especifica un archivo .class con vía de acceso y extensión, la vía de acceso especificada se sitúa dentro de la CLASSPATH. Por ejemplo, el mandato java ~/miapli/estaapli.class equivale a especificar java -classpath ~/miapli estaapli.
| | |El propósito principal de utilizar páginas grandes es el de proporcionar mejoras en el rendimiento de las |aplicaciones que asignan gran cantidad de memoria y a la que acceden con frecuencia. |Las mejoras en el rendimiento que ofrecen las páginas grandes se producen principalmente debido a la reducción en el |número de fallos en el TLB (Translation Lookaside Buffer). Esta mejora se debe a que el TLB correlaciona un mayor rango |de memoria virtual.
|Para configurar la asignación de memoria con páginas grandes primero deberá asegurarse de que el kernel soporte |páginas grandes. Compruebe que el archivo /proc/meminfo contiene las líneas siguientes:
|HugePages_Total: 4 |HugePages_Free: 4 |Hugepagesize: 4096 kB
Tenga en cuenta que los valores de estos campos dependen del sistema. |Si el kernel no soporta páginas grandes, deberá compilar un nuevo kernel que lo haga.
|La cantidad de memoria que puede asignar a páginas grandes viene dada por el producto de HugePages_Free * |Hugepagesize. El administrador del sistema deberá configurar un número de páginas grandes en el sistema que |satisfaga los requisitos del almacenamiento dinámico de Java. El administrador del sistema puede configurar el número |de páginas grandes editando el archivo /proc/sys/vm/nr_hugepages.
|A veces, cuando el sistema tiene el número adecuado de páginas grandes libres disponibles, la llamada a shmget() |para la asignación de memoria con páginas grandes produce un error. Esta anomalía se produce porque las páginas grandes |no son contiguas. Para evitar esta anomalía, el administrador del sistema debe especificar la opción |hugepages=<n> en el momento del arranque del sistema (en lugar de hacerlo después mediante /proc).
|shmget(), que utiliza shmmax, asigna memoria con páginas grandes. Para modificar el valor de shmmax, edite el |archivo /proc/sys/kernel/shmmax.
|Tenga en cuenta que shmget() sólo tiene éxito si se ejecuta por root. Para utilizar páginas grandes puede ejecutar |Java como root o establecer el bit suid del ejecutable de Java.
Puede establecer la propiedad del sistema ibm.jvm.bootclasspath mediante la opción -D descrita en Inicio de una aplicación Java. El valor de esta propiedad se utiliza como vía de acceso de búsqueda adicional, insertándose entre un valor definido por -Xbootclasspath/p: y la classpath de la rutina de carga. La classpath de la rutina de carga es el valor por omisión o bien la definida mediante la opción -Xbootclasspath:.
No despliegue aplicaciones que utilizan la opción -Xbootclasspath: o -Xbootclasspath/p: para alterar una clase en core.jar, graphics.jar, server.jar, security.jar, xml.jar, tools.jar o charsets.jar, porque el despliegue podría violar la licencia de código binario de Java 2 Runtime Environment.
La opción -Xgcpolicy de ejecución de la JVM especifica la política de recopilación de desechos.
-Xgcpolicy toma los valores optthruput (el valor por omisión) u optavgpause. La opción controla el comportamiento del recopilador de desechos, realizando intercambios entre la salida de la aplicación y el sistema en general y los tiempos de pausa provocados por la recopilación de desechos.
El formato de la opción y sus valores son:
-Xgcpolicy:optthruput
-Xgcpolicy:optavgpause
Cuando un intento de una aplicación de crear un objeto no se puede cumplir inmediatamente con el espacio disponible en el almacenamiento dinámico, corresponde al recopilador de desechos identificar los objetos sin referencia (desechos), suprimirlos y devolver el almacenamiento dinámico a un estado en el que las peticiones de asignación inmediatas y posteriores se puedan satisfacer rápidamente. Estos ciclos de recopilación de desechos provocan pausas inesperadas ocasionales en la ejecución del código de la aplicación. Como el tamaño y la complejidad de las aplicaciones aumenta y los almacenamientos dinámicos crecen en consecuencia, este tiempo de pausa de recopilación de desechos tiende a aumentar en duración e importancia. El valor por omisión de la recopilación de desechos, optthruput, proporciona una salida muy alta para las aplicaciones, pero al coste de estas pausas ocasionales, que pueden variar de unos pocos milisegundos a varios segundos, en función del tamaño del almacenamiento dinámico y la cantidad de desechos.
La opción optavgpause reduce substancialmente el tiempo invertido en estas pausas de recopilación de desechos, además de limitar el efecto de incremento del tamaño del almacenamiento dinámico en la duración de la pausa de recopilación de desechos. Esta opción tiene una importancia especial en configuraciones con almacenamientos dinámicos grandes. Los tiempos de pausa se reducen realizando algunas actividades de recopilación de desechos que son concurrentes con la ejecución normal del programa. Con el tiempo de pausa reducido, puede experimentarse alguna reducción en la salida de la aplicación que varía de una aplicación a otra.
Si el almacenamiento dinámico de Java está casi lleno y hay muy pocos desechos que recopilar, es posible que las peticiones de objetos nuevos no se puedan satisfacer rápidamente ya que no hay espacio disponible inmediatamente. Si se trabaja con un almacenamiento dinámico casi lleno, el rendimiento de las aplicaciones puede resentirse sin importar cuál de las opciones anteriores se usa y, si se siguen realizando peticiones de más espacio de almacenamiento dinámico, la aplicación recibe una excepción OutofMemory, que provoca la interrupción de la JVM si esta excepción no se detecta y gestiona. En este punto la JVM producirá dos archivos de diagnóstico: Heapdump y Javadump. Se detallan en la guía Diagnostics Guide for Java 1.4.2 y pueden utilizarse para determinar las causas de la alta ocupación del almacenamiento dinámico de Java. La guía Diagnostics Guide está en developerWorks, en la dirección: http://www-106.ibm.com/developerworks/java/jdk/diagnosis/. En estas condiciones, se recomienda incrementar el tamaño del almacenamiento dinámico mediante la opción -Xmx o reducir el número de objetos de aplicación en uso.
Para obtener información más detallada sobre la recopilación de desechos, consulte:
http://www.ibm.com/developerworks/ibm/library/i-garbage1/
http://www.ibm.com/developerworks/ibm/library/i-garbage2/
http://www.ibm.com/developerworks/ibm/library/i-garbage3/
Cuando se activa una señal que resulta interesante para la JVM, se llama a un manejador de señales. Este manejador de señales determina si ha sido llamado por una hebra Java o no Java. Si la señal es de una hebra Java, la JVM toma el control del manejo de la señal. Si la señal es de una hebra no Java y la aplicación que ha instalado la JVM ha instalado previamente su propio manejador de señales, se pasa el control a ese manejador. En caso contrario, la señal se ignora (tanto si es la acción predeterminada para la señal como si no lo es).
Para señales de excepción y de error la JVM:
En el caso de las señales de interrupción, la JVM también entra en una secuencia de conclusión controlada, pero esta vez se trata como una terminación normal que:
La conclusión es idéntica a la conclusión iniciada por una llamada al método Java System.exit().
Otras señales utilizadas por la JVM son para temas de control interno y no hacen que termine. La única señal de control interesante es SIGQUIT, que hace que se genere un Javadump.
La Tabla 1 siguiente muestra las señales utilizadas por la JVM. Las señales se han agrupado en la tabla por tipo o utilización, de la forma siguiente:
Nombre de señal | Tipo de señal | Descripción | Inhabilitada por -Xrs |
---|---|---|---|
SIGSEGV | Excepción | Acceso incorrecto a la memoria (escritura en memoria inaccesible) | No |
SIGILL | Excepción | Instrucción no permitida (intento de invocar una instrucción de máquina desconocida) | No |
SIGFPE | Excepción | Excepción de coma flotante (división por cero) | No |
SIGBUS | Excepción | Error del bus (intento de direccionar una ubicación de memoria no existente) | Sí |
SIGSYS | Excepción | Llamada al sistema emitida incorrecta | Sí |
SIGXCPU | Excepción | Superado el límite del tiempo de la CPU (ha estado en ejecución mucho tiempo) | Sí |
SIGXFSZ | Excepción | Superado el límite del tamaño de archivos | Sí |
SIGABRT | Error | Terminación anormal. La JVM lanza esta señal cada vez que detecta una anomalía en la JVM. | Sí |
SIGINT | Interrupción | Atención interactiva (Control-C). La JVM sale normalmente. | Sí |
SIGTERM | Interrupción | Petición de terminación. La JVM saldrá normalmente. | Sí |
SIGHUP | Interrupción | Cortar. La JVM sale normalmente. | Sí |
SIGUSR1 | Control | Definida por el usuario. Utilizada por algunas JVM para temas de control interno. | No |
SIGUSR2 | Control | Definida por el usuario. Utilizada por algunas JVM para temas de control interno. | No |
SIGQUIT | Control | Señal de salida para un terminal. La JVM utiliza esto para tomar Javadumps. | Sí |
SIGTRAP | Control | Interna para uso por dbx o ptrace. Utilizada por algunas JVM para temas de control interno. | Sí |
SIGPIPE | Control | Escritura en un conducto que no se está leyendo. La JVM ignora esto. | No |
Utilice la opción -Xrs (reducir el uso de señales) para evitar que la JVM maneje la mayoría de señales. Para obtener más información, consulte la página del iniciador de aplicaciones de Java de Sun en http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html.
Las señales 1 (SIGHUP), 2 (SIGINT), 4 (SIGILL), 6 (SIGABRT), 7 (SIGEMT), 8 (SIGFPE) , 10 (SIGBUS), 11 (SIGSEGV), 12 (SIGSYS) , 15 (SIGTERM), y 24 (SIGXCPU) hacen que la JVM concluya; por lo tanto, un manejador de señales de la aplicación no debería intentar recuperarse de estas situaciones a menos que ya no necesite los servicios de la JVM.
El Runtime Environment contiene un servicio de encadenamiento de señales. El encadenamiento de señales permite a la JVM interoperar de forma más eficaz con el código nativo que instala sus propios manejadores de señales.
El servicio de encadenamiento de señales permite a la aplicación enlazar y cargar la biblioteca compartida libjsig.so antes que las bibliotecas del sistema. La biblioteca libjsig.so garantiza que llamadas como signal(), sigset() y sigaction() sean interceptadas para que sus manejadores no sustituyan a los manejadores de señales de la JVM. En su lugar, estas llamadas guardan los nuevos manejadores de señales o los "encadenan" detrás de los manejadores instalados por la JVM. Más tarde, cuando se lance alguna de estas señales y se determine que no está destinada a la JVM, se invocarán los manejadores preinstalados.
Para utilizar libjsig.so:
gcc -L$JAVA_HOME/bin -ljsig -L$JAVA_HOME/bin/classic -ljvm aplicación_java.co
export LD_PRELOAD=$JAVA_HOME/bin/libjsig.so; <aplicación_java> (bash y ksh) setenv LD_PRELOAD=$JAVA_HOME/bin/libjsig.so; <aplicación_java> (csh)(Asumiendo que JAVA_HOME esté configurada; en caso contrario, utilice /opt/IBMJava2-142/jre.)
Si instala manejadores de señales que utilizan sigaction(), algunos sa_flags no se observan cuando la JVM utiliza la señal. Estos son:
La biblioteca libjsig.so oculta también los manejadores de señales de la JVM de la aplicación. Por lo tanto, llamadas como signal(), sigset() y sigaction() realizadas después de iniciarse la JVM ya no devuelven una referencia al manejador de señales de la JVM y en su lugar devuelven cualquier manejador que haya sido instalado antes del inicio de la JVM.
| | |La agrupación de hebras para manejadores de conexiones para RMI no está habilitada por |omisión.
|Para habilitar la agrupación de conexiones implementada a nivel TCPTransport de RMI, establezca la opción
|-Dsun.rmi.transport.tcp.connectionPool=true (o cualquier valor no nulo)|
Esta versión del Runtime Environment no tiene ningún valor que pueda utilizarse para limitar el número de hebras en |la agrupación de conexiones.
Para obtener los números de versión y de nivel de compilación de IBM, escriba lo siguiente en el indicador de shell :
java -version
El Java Plug-in es un plug-in de navegador Web. Si utiliza el Java Plug-in, puede ignorar la JVM por omisión del navegador Web y utilizar en su lugar un Runtime Environment para ejecutar applets o beans en el navegador.
El Java Plug-in está documentado por Sun en: http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/.
El Java Plug-in no ofrece soporte de impresión en este release del SDK.
El Java Plug-in está soportado en Netscape 4, Netscape 6 y Mozilla, tal como se suministra en la distribución.
Para instalar y configurar el Java Plug-in para Netscape 6 o Mozilla cree un enlace simbólico entre el archivo de biblioteca /opt/IBMJava2-142/jre/bin/libjavaplugin_oji.so y el directorio plugins del navegador (/vía-instalación-navegador/plugins).
Para que el Java Plug-in esté disponible para todos los usuarios:
ln -s /opt/IBMJava2-142/jre/bin/libjavaplugin_oji.so \ /usr/local/mozilla/plugins/
Para instalar y configurar el Java Plug-in para Netscape 4 cree un enlace simbólico entre el archivo de biblioteca /opt/IBMJava2-142/jre/bin/javaplugin.so y el directorio plugins del navegador (/vía-instalación-navegador/plugins).
Para que el Java Plug-in esté disponible para el usuario actual:
Para que el Java Plug-in esté disponible para todos los usuarios:
ln -s /opt/IBMJava2-142/jre/bin/javaplugin.so \ /usr/local/netscape/plugins/
Si utiliza una distribución que se entrega con un navegador Mozilla compilado con gcc3.2.x (SLES8, Suse8.1), deberá utilizar las bibliotecas de plug-ins compiladas con gcc3 que se entregan con IBM SDK for Linux, v1.4.2: libjavaplugin_ojigcc3.so y libjavaplugin_jnigcc3.so. Para utilizar estas bibliotecas, cree un enlace simbólico con libjavaplugin_ojigcc3.so bajo el directorio <dir_instalación_mozilla>/plugins:
ln -s <sdkdir>/jre/bin/libjavaplugin_ojigcc3.so libjavaplugin_ojigcc3.so
El Java Plug-in soporta caracteres de doble byte (por ejemplo chino tradicional BIG-5, coreano, japonés) como parámetros para los códigos <APPLET>, <OBJECT> y <EMBED>. Debe seleccionar la codificación de caracteres correcta para el documento HTML para que el Java Plug-in pueda analizar el parámetro. Especifique la codificación de caracteres para el documento HTML utilizando el código <META> en la sección <HEAD> de esta forma:
<meta http-equiv="Content-Type" content="text/html; charset=big5">
Este ejemplo indica al navegador que analice el archivo HTML utilizando la codificación de caracteres chinos BIG-5. Todos los parámetros se pasan correctamente al Java Plug-in. Sin embargo, es posible que algunas versiones antiguas de navegadores no entiendan correctamente este código. En este caso, puede forzar que el navegador ignore este código, pero deberá cambiar la codificación manualmente.
Para especificar la codificación que desea utilizar para analizar el archivo HTML:
Java Web Start es una forma de desplegar aplicaciones basadas en tecnología Java. Conecta el sistema e Internet y permite al usuario iniciar y gestionar aplicaciones directamente desde la Web. Java Web Start proporciona activación de aplicaciones mediante una sola pulsación y garantiza que siempre ejecutará la última versión, eliminando los procedimientos de instalación o actualización. A menudo, la distribución de software por la Web requiere encontrar el instalador en la Web, bajar el instalador, localizarlo y ejecutarlo. Después de ejecutar el instalador, éste solicita los directorios y opciones de instalación como completa, típica o mínima. Puede llegar a ser una tarea complicada y que requiere demasiado tiempo que debe repetirse para cada nueva versión del software.
En cambio, las aplicaciones desplegadas en la Web, como los clientes de correo electrónico y calendarios basados en HTML, son sencillas de instalar y utilizar. El navegador Web ha automatizado el proceso. No existen pasos complicados para bajar, preparar y configurar, y está garantizado que se ejecuta la última versión. Java Web Start proporciona las mismas ventajas en aplicaciones con funcionalidad completa.
Para obtener más información sobre Web Start, consulte: http://java.sun.com/products/javawebstart y para obtener más documentación, consulte: http://java.sun.com/j2se/1.4.2/docs/guide/jws/index.html.
El script de instalación de Web Start se instala con el JRE para Java V1.4.2.
El script se llama /opt/IBMJava2-142/jre/bin/webstart_install_sdk.sh. Para utilizar Web Start, ejecute el script. Establezca el directorio de trabajo actual en la ubicación en la que desea instalar Web Start. El proceso de instalación crea un subdirectorio llamado javaws en el directorio de trabajo actual.
El proceso de instalación también actualiza los tipos mime utilizados por Mozilla y otros navegadores.
Puede invocar Web Start de tres formas:
Todas estas acciones hacen que Web Start inicie la aplicación seleccionada. La aplicación se baja si es la primera vez que se utiliza. En siguientes invocaciones, se comprueba en el sitio Web original si hay alguna actualización disponible. Web Start baja estas actualizaciones antes de iniciar la aplicación.
Si se produce un error en un jnlp (como un nombre de código no válido), Web Start termina anormalmente sin mostrar un mensaje de error.
En un sistema Linux de pilas no flotantes, independientemente de lo que se establezca para -Xss, se proporciona un tamaño mínimo de pilas nativas de 256 KB para cada hebra. En un sistema Linux de pilas flotantes, se respetan los valores de -Xss. Por lo tanto, si realiza la migración de un sistema Linux sin pilas flotantes, debe asegurar que los valores de -Xss son lo bastante grandes y que no se basan en el mínimo de 256 KB.
(Sólo Linux IA de 32 bits) Algunas distribuciones de Linux (Red Hat, por ejemplo) tienen habilitada una característica GLIBC llamada 'pilas flotantes'. Debido a las limitaciones del kernel de Linux, la JVM no funciona en hardware SMP con pilas flotantes habilitadas si el nivel del kernel es menor de 2.4.10. En este entorno, las pilas flotantes deben inhabilitarse antes de que el JVM o cualquier aplicación que lo arranca se inicie. En Red Hat, utilice este mandato para inhabilitar las pilas flotantes exportando una variable de entorno:
export LD_ASSUME_KERNEL=2.2.5
En sistemas DBCS (juego de caracteres de doble byte), si desea conmutar el método de entrada, deberá utilizar la clase java.util.prefs.Preferences en lugar de las variables de entorno IBMJAVA_INPUTMETHOD_SWITCHKEY y IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS. Consulte Sun's Input Method Framework Specification en detalle.
Tras desarrollar su producto y una vez listo para enviarlo, tiene que instalar el producto en un sistema de usuario, configurar el sistema de usuario para que dé soporte al software y configurar el entorno de ejecución.
Si utiliza el Runtime Environment para Linux, deberá asegurarse de que el procedimiento de instalación no escriba encima de ninguna instalación existente (a menos que la versión existente del Runtime Environment para Linux sea una versión antigua).
Para redistribuir el Runtime Environment para Linux, puede instalarlo en su propio sistema, a continuación copie los archivos necesarios del Runtime Environment en su conjunto de instalación. Si elige esta opción, deberá incluir todos los archivos que se suministran con el Runtime Environment para Linux. El software Runtime Environment para Linux sólo se puede redistribuir si se incluyen todos los archivos. En efecto, cuando envía su aplicación, ésta tendrá su propia copia del Runtime Environment para Linux.
Para obtener información concreta acerca de los archivos que se deben redistribuir, consulte el acuerdo de licencia que acompaña a este producto.
Los apartados siguientes explican las limitaciones conocidas del y Runtime Environment para Linux.
El número máximo de hebras disponibles está determinado por el valor mínimo de:
Sin embargo, puede que agote el almacenamiento virtual antes de llegar al número máximo de hebras.
xmodmap -pkEste es el motivo por el cual el SDK para Linux considera que se ha pulsado Meta + Alt simultáneamente. Como solución provisional, puede eliminar la correlación Meta_x escribiendo lo siguiente en el indicador de shell:
xmodmap -e "keysym Alt_L = Alt_L" -e "keysym Alt_R = Alt_R"
La JVM creada en cualquier caso es la especificada por las bibliotecas (es decir, 1.2.2, 1.3.x, 1.4.x), no la indicada por la interfaz JNI. La API de la interfaz no afecta a la especificación del idioma implementado por la JVM, las API de bibliotecas de clases o cualquier otra área del comportamiento de la JVM. La API de la interfaz sólo especifica cómo el código nativo puede invocar el comportamiento necesario.
Para obtener más información, consulte la guía Diagnostics Guide for v1.4.2.
# touch /usr/X11R6/lib/X11/fonts/truetype/fonts.scale.baekmuk # SUSEconfig
Las limitaciones siguientes afectan a los usuarios de chino, taiwanés y coreano en Linux zSeries de 64 bits:
Si tiene algún comentario acerca de la utilidad, o no utilidad, de esta Guía del usuario, estaremos encantados de conocer su opinión a través de uno de estos canales. Tenga en cuenta que estos canales no están destinados a responder consultas técnicas, sólo son para comentarios acerca de documentación. Envíe sus comentarios:
La letra pequeña. Si elige enviar un mensaje a IBM, acepta que toda la información contenida en su mensaje, incluidos los datos de respuesta, como preguntas, comentarios, sugerencias, etc., se considerarán no confidenciales e IBM no tendrá ningún tipo de obligación sobre dicha información y será libre de reproducir, utilizar, revelar y distribuir la información a otros sin limitaciones. Además, IBM será libre de utilizar cualquier idea, concepto, conocimiento o técnica contenido en dicha información para cualquier tipo de propósito, incluyendo, pero sin limitarse al desarrollo, fabricación y marketing de productos que incluyan dicha información.
Esta información se ha desarrollado para productos y servicios que se ofrecen en los EE.UU. IBM puede que no ofrezca los productos, servicios o características que se discuten en este documento en otros países. Consulte con el representante de IBM de su localidad para obtener información sobre los productos y servicios que están disponibles actualmente en su zona. Cualquier referencia a un producto, programa o servicio de IBM no pretende afirmar ni implica que sólo se pueda utilizar dicho producto, programa o servicio de IBM. En su lugar, puede utilizarse cualquier producto, programa o servicio funcionalmente equivalente que no infrinja ninguno de los derechos de propiedad intelectual de IBM. Sin embargo, la evaluación y la verificación del funcionamiento conjuntamente con otros productos, programas o servicios que no son de IBM es responsabilidad del usuario.
IBM puede tener patentes o solicitudes pendientes de patente que cubran temas que se tratan en este documento. La posesión de este documento no le otorga ninguna licencia sobre estas patentes. Puede hacer consultas sobre licencias, escribiendo a:
Para hacer consultas sobre licencias relativas a la información de doble byte (DBCS), póngase en contacto con el Departamento de propiedad intelectual de IBM en su país o envíe sus consultas por escrito a:
El párrafo siguiente no se aplica en el Reino Unido ni en ningún país en que tales disposiciones entren en contradicción con la legislación local:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROPORCIONA ESTA PUBLICACIÓN "TAL CUAL" SIN GARANTÍAS DE NINGÚN TIPO, NI EXPLÍCITAS NI IMPLÍCITAS, INCLUYENDO PERO NO LIMITÁNDOSE A ELLAS, LAS GARANTÍAS IMPLÍCITAS DE COMERCIALIZACIÓN O DE ADECUACIÓN A UN PROPÓSITO DETERMINADO. Algunos países no permiten la renuncia a las garantías explícitas o implícitas en determinadas transacciones; por lo que el párrafo anterior puede que no se aplique en su caso.
Esta publicación puede contener incorrecciones técnicas o errores tipográficos. Periódicamente se realizarán modificaciones en la información aquí contenida; dichos cambios se incorporarán en nuevas ediciones de la publicación. IBM puede efectuar en cualquier momento mejoras y/o cambios en los productos y/o programas que se describen en esta publicación sin previo aviso.
Las referencias hechas en esta publicación a sitios Web que no son de IBM se proporcionan únicamente por cortesía y de ningún modo deben interpretarse como un respaldo público de dichos sitios Web. Los materiales de estos sitios Web no forman parte de los materiales de IBM para este producto y el uso que se haga de estos sitios Web es de la entera responsabilidad del usuario.
IBM puede utilizar o distribuir la información que se le suministra de la forma en que lo crea conveniente sin que incurra por ello en ninguna obligación con usted.
Los usuarios que dispongan de licencias para este programa y que deseen tener información sobre el mismo con el propósito de poder: (i) intercambiar información entre programas creados de forma independiente y otros programas (incluido éste) y (ii) utilizar mutuamente la información que se ha intercambiado, deben ponerse en contacto con:
Dicha información puede estar disponible, sujeta a los términos y condiciones adecuados, incluido en algunos casos, el pago de una tasa.
El programa bajo licencia que se describe en este documento y todo el material bajo licencia disponible para él lo facilita IBM en los términos descritos en IBM Customer Agreement, en IBM International Program License Agreement o en cualquier otro contrato equivalente entre las partes.
Los datos de rendimiento que se hallan en esta publicación se han determinado en un entorno controlado. Por tanto, los resultados que se obtengan en otros sistemas operativos pueden diferir considerablemente. Es posible que algunas medidas se hayan tomado en sistemas de nivel de desarrollo y no hay garantías de que estas medidas serán iguales en los sistemas habitualmente disponibles. Además, es posible que algunas de las medidas se hayan estimado por medio de extrapolaciones. Es posible que los resultados reales varíen. Los usuarios de este documento deben comprobar los datos que son de aplicación para su entorno en concreto.
La información relativa a productos que no son de IBM se ha obtenido de los proveedores de esos productos, de los anuncios publicados por los mismos o de otras fuentes a disposición del público. IBM no ha probado esos productos y no puede confirmar la precisión del rendimiento, su compatibilidad o cualquier otra afirmación relacionada con productos que no son de IBM. Las preguntas sobre las posibilidades de los productos que no son de IBM deben dirigirse a los proveedores de dichos productos.
IBM es una marca registrada de International Business Machines Corporation en los Estados Unidos y/o en otros países.
IBM, iSeries, pSeries y zSeries son marcas registradas de International Business Machines Corporation en los Estados Unidos y/o en otros países.
Java y todas las marcas y logotipos basados en Java son marcas comerciales o marcas registradas de Sun Microsystems, Inc. en los Estados Unidos y/o en otros países.
Intel, Intel Inside (logotipos), MMX y Pentium son marcas registradas de Intel Corporation en los Estados Unidos y/o en otros países.
Otros nombres de empresas, productos o servicios pueden ser marcas registradas o de servicio de otros.
Este producto incluye software desarrollado por Apache Software Foundation http://www.apache.org/.