5

एक specification of Java memory model है।जावा के मेमोरी मॉडल का कार्यान्वयन?

और मैं वास्तव में यह जांचने के लिए स्रोत कोड में गोता लगाने के लिए चाहता हूं कि उन तंत्रों को कैसे कार्यान्वित किया जाता है। (उदाहरण के लिए, सिंक्रनाइज़, अस्थिर, ..., आदि)

लेकिन कोडबेस इतना बड़ा है, मुझे नहीं पता कि कहां से शुरू करना है।
(http://www.java2s.com/Open-Source/Java-Document/CatalogJava-Document.htm)

क्या कोई मुझे कुछ सुराग दे सकता है? बहुत बहुत धन्यवाद!

+0

I [जामवीएम] (http://jamvm.sourceforge.net/) को देखने का सुझाव देगा। यह ओपनजेडीके से काफी छोटा है। –

+0

ठंडा ~ धन्यवाद! –

उत्तर

8

आप जेडीके के वर्तमान संस्करण में सिंक्रनाइज़र.cpp कक्षा को देखकर शुरू कर सकते हैं। खुद को कॉफी का एक मजबूत पॉट तैयार करें - आपने स्रोत कोड में डेलविंग शुरू करने के लिए JVM के सबसे जटिल क्षेत्रों में से एक चुना है।

यदि आपने पहले से ऐसा नहीं किया है, तो मैं यह भी सुझाव दूंगा कि आप Bill Pugh's page on the Java Memory Model और डौग ली के recommendations for compiler writers on implementing the Java memory model पर एक नज़र डालें।

आप जेआईटी-संकलित असेंबली को आउटपुट करने के लिए चालू विकल्प के साथ डीबग जेवीएम चलाने से कुछ भी प्राप्त कर सकते हैं, जिसका आप निरीक्षण कर सकते हैं। (यह आपको सब कुछ नहीं बताएगा, लेकिन यह आपको कुछ पॉइंटर्स दे सकता है: मुझे लगता है कि कुछ चीजें प्रिंट करती हैं यदि कुछ और आपको जेडीके स्रोत कोड में खोजने के लिए कुछ चीजें नहीं देता है ...)

+0

वाह, आपकी मदद के लिए धन्यवाद! जैसा कि आपने कहा, यह एक कठिन काम की तरह दिखता है ... –

संबंधित मुद्दे