referencia canónica en la parte interna de la JVM para el programador / desarrolladores [cerrar]

StackOverflow https://stackoverflow.com/questions/3963643

  •  09-10-2019
  •  | 
  •  

Pregunta

El título capta mi pregunta bastante bien. Me pregunto si hay un recurso bueno o saltando-punto de partida para preguntas acerca de cómo una JVM (no sólo HotSpot, pero eso es, obviamente, el punto de partida) implementos o manijas una funcionalidad específica? No estoy buscando el material que está en el JLS o JVM Spec - yo sé que ir allí en primer lugar.

Por ejemplo : Al tratar de comprender los problemas de rendimiento, a menudo se meten en conversaciones no se trata de lo que dice la especificación, pero lo que las mejores prácticas contemporáneas se ven como en implementaciones prácticas. Por ejemplo, hay una cierta mitología urbana que dice que "las clases finales se desempeñan mejor en Java, porque la JVM puede inline o de otra manera a optimizar este tipo de cosas." ¿Hay un recurso general podemos recurrir a fin de evaluar estas afirmaciones que flotan?

Me ofrecen una respuesta a mi propia pregunta, con referencias específicas para HotSpot. ¿Qué pasa con las ofertas de otros proveedores? Específicos a los pequeños JVM? especificidades de varios núcleos? Plataformas específicos, si hacen una diferencia? Específicos a otros idiomas JVM?

Sólo para atajar un par de quejas posibles: 1) No se trata de buscar optimizaciones prematuros (y, de hecho, una mejor comprensión de la plataforma debe disuadir a un desarrollador de una mejor educación);! y 2) Sé que los programadores de Java se supone que deben centrarse en agradable, código de ejecución en cualquier portátil, pero para muchos de nosotros los detalles de la plataforma terminan importando!

Esto se inspiró en algunos comentarios útiles sobre una cuestión específica Thorbjørn Ravn Andersen . Estoy feliz de recoger algunos otros ejemplos más votos más allá de la que cito más arriba, para motivar a la gente por qué podrían querer este tipo de recursos.

Algunas preguntas relacionadas interesantes sobre SO: en JVM , Killer JVM ofrece , que van a ser inútiles mañana, .

editar para agregar: Voy adjudicación La respuesta tampoco a la mejor referencia individual mencionado, o a alguien que proporciona un puntero a un sitio web (tal vez incorporado en respuesta a esta pregunta) que mejor concentrados / catálogos JVM sabiduría ejecución y las consecuencias prácticas sobre los idiomas y desarrolladores de clientes.

¿Fue útil?

Solución

Otros consejos

Hace algún tiempo que arme un breve resumen acerca de lo programador avanzado debe saber sobre JVM internos y ayudarle a entender la concurrencia, GC, etc. JIT mejor. Es un resumen concentrado basado en la especificación y OpenJDK.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top