5

Существует specification of Java memory model.Реализация модели памяти Java?

И я хочу погрузиться в исходный код, чтобы действительно исследовать, как эти механизмы реализованы. (например, синхронизированы, нестабильны, ... и т. д.)

Но кодовая база настолько огромная, я понятия не имею, с чего начать.
(http://www.java2s.com/Open-Source/Java-Document/CatalogJava-Document.htm)

Может ли кто-нибудь дать мне несколько подсказок? Спасибо большое!

+0

I предложит посмотреть на [JamVM] (http://jamvm.sourceforge.net/). Это значительно меньше, чем OpenJDK. –

+0

круто ~ спасибо! –

ответ

8

Вы можете начать с изучения класса synchronizer.cpp в текущей версии JDK. Подготовьте себе сильный кофейник - вы выбрали одну из самых сложных областей JVM, чтобы начать вникать в исходный код.

Если вы еще этого не сделали, я также предлагаю вам взглянуть на Bill Pugh's page on the Java Memory Model и Doug Lea's recommendations for compiler writers on implementing the Java memory model.

Вы также можете получить что-то от запуска отладочной JVM с включенной опцией для вывода сборки JIT, которую вы можете проверить. (Это не скажет вам всего, но это может дать вам несколько указателей: я думаю, что некоторые из вещей, которые он печатает, будут, если больше ничего не даст вам некоторых вещей для поиска в исходном коде JDK ...)

+0

Вау, спасибо за помощь! Как вы сказали, это выглядит как тяжелая работа ... –

Смежные вопросы