5

Hay un specification of Java memory model.Implementación del modelo de memoria de Java?

Y quiero profundizar en el código fuente para investigar realmente cómo se implementan esos mecanismos. (Por ejemplo, sincronizada, volátil, ..., etc.)

Pero el código base es tan grande, no tengo idea de por dónde empezar.
(http://www.java2s.com/Open-Source/Java-Document/CatalogJava-Document.htm)

¿Alguien podría darme algunas pistas? ¡Muchas gracias!

+0

I Sugeriría mirar [JamVM] (http://jamvm.sourceforge.net/). Es significativamente más pequeño que OpenJDK. –

+0

genial ~ ¡gracias! –

Respuesta

8

Puede comenzar mirando la clase synchronizer.cpp en la versión actual del JDK. Prepárese una taza de café fuerte: ha elegido una de las áreas más complejas de la JVM para comenzar a profundizar en el código fuente.

Si aún no lo ha hecho, también le sugiero que eche un vistazo a Bill Pugh's page on the Java Memory Model y Doug Lea's recommendations for compiler writers on implementing the Java memory model.

También puede recoger algo de ejecutar la JVM depuración con la opción habilitada para dar salida a la asamblea JIT-compilado que luego se puede inspeccionar. (Esto no le dirá todo, pero podría darle algunos consejos en: Creo que algunas de las cosas que se imprime voluntad si nada más se dan algunas cosas para buscar en el código fuente del JDK ...)

+0

¡Guau, gracias por tu ayuda! Como dijiste, parece un trabajo difícil ... –

Cuestiones relacionadas