tabla sobre mega impresionantes español escritorio datos crea con catalogo aplicaciones java performance jvm jvm-hotspot

java - sobre - tabla catalogo base de datos



¿Cuál es el estado actual de las opciones de rendimiento de Oracle Java HotSpot VM(+ UseStringCache,+UseCompressedStrings,+OptimizeStringConcat) (4)

Para verificar el uso de los valores predeterminados

java -XX:+PrintFlagsFinal

Para encontrar exactamente lo que quiere, puede

java -XX:+PrintFlagsFinal | grep UseCompressedStrings

Estaba leyendo las opciones de VM de Java HotSpot . He visto algunos conmutadores de VM interesantes, en su mayoría pertenecientes a Strings, lo cual es de gran valor para mí ya que mi aplicación está realizando una gran manipulación de String. Esos son:

  • -XX:+UseStringCache
  • -XX:+UseCompressedStrings
  • -XX:+OptimizeStringConcat

Me preguntaba: ¿están estos conmutadores por defecto? ¿Qué es la experiencia del mundo real al usarlos? ¿Hacen la diferencia?


Sé que -XX:+UseCompressedStrings se eliminó en Java 7 porque era demasiado difícil de admitir.

Para Java 7 actualización 40

$ java -XX:+PrintFlagsFinal 2>&1 | grep UseStringCache bool UseStringCache = false {product} $ java -XX:+PrintFlagsFinal 2>&1 | grep OptimizeStringConcat bool OptimizeStringConcat = true {C2 product}


Basado en mi verificación de JDK6u21 y JDK7u21 usando PrintFlagsFinal, tenemos los siguientes valores:

JDK6u21 JDK7u21 -XX:+UseStringCache false false -XX:+UseCompressedStrings false <unsupported> -XX:+OptimizeStringConcat false true


Teniendo en cuenta el rendimiento de String, eche un vistazo a -XX:+PrintStringTableStatistics y -XX:StringTableSize= . Java 7 viene con buenas características que permiten el ajuste de caché de cadenas cuando se utilizan las cadenas internas. De esta forma, puedes optimizar el tamaño del caché de cadena.

Y, un rendimiento de cadena relacionado Q / A: Java GC tuning para cadenas