2010-10-18 19 views
12

El título capta mi pregunta bastante bien. Me pregunto si hay un buen recurso o punto de partida para preguntas sobre cómo una JVM (no solo HotSpot, pero obviamente es el lugar para comenzar) implementa o maneja una funcionalidad específica. No estoy buscando las cosas que están en el JLS o JVM Spec - Sé que ir allí primero.Referencia canónica en elementos internos de JVM para programadores/desarrolladores

Por ejemplo,: Cuando tratamos de comprender los problemas de rendimiento, a menudo nos ponemos a conversar no sobre lo que dice la especificación, sino sobre las mejores prácticas contemporáneas en implementaciones prácticas. Por ejemplo, hay alguna mitología urbana que dice que "las clases finales funcionan mejor en Java porque la JVM puede alinear u optimizar tales cosas". ¿Hay algún recurso general al que podamos recurrir para evaluar estas afirmaciones que flotan?

Ofrezco una respuesta a mi propia pregunta, con referencias específicas de HotSpot. ¿Qué hay de las ofertas de otros vendedores? ¿Específicos para pequeñas JVM? ¿Específicos de múltiples núcleos? ¿Específicos de plataformas, si hacen una diferencia? ¿Específicos para otros lenguajes JVM?

Solo para evitar un par de posibles quejas: 1) No se trata de buscar optimizaciones prematuras (¡y de hecho, una mejor comprensión de la plataforma debería disuadir a un desarrollador mejor educado!); y 2) Sé que los programadores de Java deben centrarse en un código agradable, portátil y de ejecución en cualquier lugar, ¡pero para muchos de nosotros los detalles de la plataforma terminan siendo importantes!

Esto se inspiró en algunos comentarios útiles en un specific question por Thorbjørn Ravn Andersen. Me complace recopilar algunos otros ejemplos más útiles más allá del que menciono arriba, para motivar por qué la gente podría querer este tipo de recursos.

Algunas preguntas interesantes relacionadas con SO: Tail-call optimization in JVM, Killer JVM features, optimizations that are going to be useless tomorrow, Differences between JVM implementations.

editar para agregar: voy Premio de la respuesta ya sea 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 los mejores concentrados/catálogos Conocimiento de la implementación de JVM y las consecuencias prácticas en los lenguajes y desarrolladores de los clientes.

Respuesta

Cuestiones relacionadas