java - sistema - que es jvm en programacion
¿Qué hace el indicador UseCompressedOops JVM y cuándo debería usarlo? (1)
¿Qué hace el hotspot JVM flag -XX:+UseCompressedOops
y cuándo debería usarlo? ¿Qué tipo de rendimiento y diferencias de uso de memoria veré cuando lo use en una instancia de Java de 64 bits (frente a no usarlo)?
La mayoría de HotSpot JVM en el último año lo tienen activado por defecto. Esta opción permite que las referencias sean de 32 bits en una JVM de 64 bits y accedan a cerca de 32 GB de heap. (más punteros de 32 bits pueden) (También puede tener casi ilimitada la memoria de pila). Esto puede ahorrar una cantidad significativa de memoria y potencialmente mejorar el rendimiento.
Si desea utilizar esta opción, le sugiero que actualice a una versión que la tiene activada por defecto, ya que puede haber una buena razón, como errores, por qué no estaba habilitada previamente. Pruebe la actualización 23 de Java 6 o la actualización 5 de Java 7.
En resumen, no lo encienda, use una versión que lo tenga activado por defecto.
Actualizar:
En Java 8 tiene la opción de establecer el -XX:ObjectAlignmentInBytes=
y, de hecho, si -XX:ObjectAlignmentInBytes=
tamaño en 64 GB, usará -XX:ObjectAlignmentInBytes=16
y aún usará referencias de 32 bits.