JDK 13: ¿Qué son AggressiveOpts?

Jdk 13 What Are Aggressiveopts

La marca Java VM ha quedado obsoleta en JVM 11 -XX:+AggressiveOpts [Ver JDK-8199777 con JDK-8199778 ] 'Porque su comportamiento no está claro.' JDK-8199778 La sección 'Preguntas' explica con más detalle (agregué Atención ):

AggressiveOpts se han utilizado como Realice varias funciones de rendimiento experimentales de El método que lo abarca todo, el objetivo principal es mejorar la puntuación en un punto de referencia muy específico. Con el paso del tiempo, la mayoría de las cosas a las que afectaba se han ido borrando o integrando, dando como resultado un comportamiento indefinido del letrero y provocando fácilmente más problemas sin solución. El único papel actual de esta bandera es establecer AutoBoxCacheMax = 20000 con BiasedLockingStartupDelay = 500 Ambos se pueden hacer manualmente configurando la bandera correspondiente en la línea de comando.



Según la documentación ' Opciones de Java HotSpot VM ',en J2SE 5 Actualización 6 Se agregó -XX:+AggressiveOpts Marcar para 'Activar las optimizaciones del compilador que se espera que sean el rendimiento de puntos predeterminado en la próxima versión'.



Artículo' Java -XX: + AggressiveOpts: ¿Te ralentizará? 'Verificará en detalle -XX:+AggressiveOpts Marca VM y haz algunas comparaciones de referencia. La conclusión de este artículo es: 'Al mantener los indicadores de estilo antiguo, puede reducir los beneficios de obtener funciones actualizadas y más rápidas en la JVM publicada'.



Kirk Pepperdine's Un artículo más antiguo ' Elija letreros de recolección de basura de Java HotSpot inapropiados y cómo solucionarlos. 'Exclusivamente -XX:+AggressiveOpts Como ejemplo de una bandera de VM cuyo comportamiento se desconoce. Pepperdine Escribió que desde Java SE 5, la sugerencia de usar esta bandera no ha cambiado.

Cuando -XX:+AggressiveOpts Cuando la bandera se pasa al lanzador de Java JDK 11, se mostrará una advertencia: 'Advertencia de VM: la opción AggressiveOpts ha quedado obsoleta en la versión 11.0 y puede eliminarse en una versión futura'.

imagen

en JDK 12-XX:+AggressiveOpts Se ha eliminado como se muestra en el anuncio ( JDK-8150552 ) y advirtió a cualquiera que intentara usarlo con el lanzador de Java. La siguiente captura de pantalla muestra este mensaje de advertencia, que indica: ' Advertencia de VM: ignore la opción AggressiveOpts A las 12.0 pulgada Soporte eliminado en (Desde Compilación de acceso anticipado de JDK 12 # 29 [Eliminado en [2019/1/24]).



imagen

en JDK 13 Early Access en construcción , Si se especifica -XX:+AggressiveOpts , La VM no se iniciará. Esto se muestra en la siguiente captura de pantalla (JDK 13 Early Access Build # 5 [2019/1/24]).

imagen

Como se muestra en la figura anterior, cuando se especifica -XX:+AggressiveOpts Al marcar, la máquina virtual no se inicia en JDK 13 e informa el mensaje de error 'Opción de máquina virtual no reconocida' Opción agresiva '.

-XX:+AggressiveOpts Firmar En JDK 11 en Obsoleto , Eliminado, pero solo en JDK 12 La advertencia se muestra solo cuando se especifica, y JDK 13 Se elimina cuando se especifica y evita que la máquina virtual se inicie.

Traducido de: https://www.javacodegeeks.com/2019/01/jdk-13-aggressiveopts.html