2010-01-08 15 views

Respuesta

31

Tener un vistazo a JVM punto de acceso aquí: http://openjdk.java.net/groups/hotspot/

+2

Sin embargo, el mejor lugar para comenzar a guiar cómo se ejecuta Java es el src.zip y solo después de que esté familiarizado con la mayoría de las clases clave, pasará al módulo de zona activa. –

+0

@PeterLawrey ¿Puedo preguntarte algo? Después de mirar el 'src \ share \ native \ java \ lang \ Thread.c', descubrí que la implementación del método nativo' interrupt0' está excavada en 'JVM_interrupt'. ¿Dónde puedo encontrar la fuente para ello? ¿Eso es del punto de acceso? –

+1

parece que el enlace de búsqueda del repositorio no funciona. Esto hace: https://github.com/openjdk-mirror/jdk7u-hotspot – eis

51

Depende por completo de qué máquina virtual que utilice.

Si usa OpenJDK JVM, puede obtener el código fuente de here.
Si usa la JVM de Kaffe, puede obtener la fuente de here.
Si usa Sun JVM versión 6 o posterior, puede obtener la fuente desde here.

Si utiliza una Sun JVM anterior a 6, a menudo puede obtener la fuente bajo una licencia académica. Si usa una IBM, Oracle, HP u otra JVM, entonces la fuente no está abierta.

Actualización mayo 2 013

La fuente Version 6 todavía se puede acceder por el enlace anterior, o se puede acceder a través de this link. Este último enlace también incluye una útil tabla de genealogía que muestra cómo las versiones de Oracle JDK y OpenJDK coinciden entre sí.

Además, se puede encontrar una versión más actualizada de la fuente de Java 7 here. Esto también incluye las correcciones para las versiones de Java 7 desde GA.

Y, para nada sorprendente, las fuentes de Java 8 se pueden encontrar here.

-1

La parte central de la JVM se encuentra en el módulo de zona activa de OpenJDK. Sin embargo, lo que necesita es más probable que esté en src.zip.

El módulo de punto de acceso, aparte de esas clases es

  • sobre todo en C++
  • no siempre
  • fácil de entender. Esto ha mejorado a lo largo de los años y el nuevo código tiende a ser mejor ya que son más conscientes de que el código tendrá un consumo más amplio.
  • menudo no es lo que estás buscando.

Por esta razón, si desea saber cómo se ejecuta JVM, lo mejor es mirar las clases comúnmente utilizadas. Por ejemplo, incluso algo tan bajo como el funcionamiento de lambdas en el tiempo de ejecución está principalmente en src.zip, no hay mucho en la JVM.

La mayoría de las fuentes para las bibliotecas vienen con el JDK en el archivo src.zip. Su IDE lo usará automáticamente. Es mucho mejor que conozcas las clases de estas bibliotecas que jugar con el JDK.

+3

giri preguntaba por JVM, no por JDK. –

+1

Sí, él quería la JVM y no la fuente JDK, por lo que ahora obtienes una. – peterh

+0

@PeterHorvath El 90% de la JVM está en las fuentes y el 95% del código útil está en src.zip. Si no sabe sobre OpenJDK, debería comenzar con las fuentes que están destinadas al consumo general. –

Cuestiones relacionadas