मैंने कुछ दस्तावेजों से पढ़ा है जो हॉटस्पॉट वीएम वीओएम में सभी ओओपी प्रबंधित करने के लिए ओप मैप्स नामक डेटा संरचना का उपयोग करता है। मेरा सवाल यह है कि यह ओप मानचित्र डेटा संरचना कब उत्पन्न होती है? संकलन समय या रनटाइम पर? इसके बारे में कोई और विस्तृत दस्तावेज स्वागत से अधिक होगा। आप लोगों को धन्यवाद।ओप मैप्स का अर्थ है हॉटस्पॉट वीएम में बिल्कुल
उत्तर
ओपैप एक ऐसी संरचना है जो रिकॉर्ड करती है कि जावा स्टैक पर ऑब्जेक्ट संदर्भ (ओओपी) कहां स्थित हैं। इसका प्राथमिक उद्देश्य जावा स्टैक पर जीसी जड़ों को ढूंढना और जब भी ढेर के भीतर वस्तुओं को स्थानांतरित किया जाता है तो संदर्भों को अपडेट करना है। व्याख्या तरीकों के लिए
- OopMaps:
OopMaps के तीन प्रकार होते हैं। वे आलसी गणना की जाती हैं, यानी जब जीसी होता है, बाइटकोड प्रवाह का विश्लेषण करके।
- के लिए ओपमैप्स जेआईटी-संकलित विधियों। वे जेआईटी-संकलन के दौरान उत्पन्न होते हैं और संकलित कोड के साथ बनाए जाते हैं ताकि वीएम जल्दी से स्टैक स्थानों और रजिस्टरों को संबोधित कर सके जहां ऑब्जेक्ट संदर्भ आयोजित किए जाते हैं।
- उत्पन्न साझा रनटाइम स्टब्स के लिए ओपमैप्स। इन मानचित्रों को डेवलपर्स द्वारा मैन्युअल रूप से बनाया गया है - इन रनटाइम स्टब्स के लेखकों।
यह बहुत अच्छा जवाब है, लेकिन अगर मैं अनुचित नहीं हूं तो मैं और जानना चाहता हूं: 1) व्याख्या किए गए तरीकों के लिए ओपमैप्स। वे आलसी गणना की जाती हैं, यानी जब जीसी होता है, बाइटकोड प्रवाह का विश्लेषण करके। >>>>>>>> ये जानकारी JVM में कहां संग्रहीत की जाती है? उनके बारे में कोई विस्तृत संदर्भ कैसे गणना की जाती है? या ओपनजेडीके में बस स्रोत कोड फाइलें? 2) तो जब जीसी होता है, और थ्रेड सुरक्षित बिंदु पर जाता है, तो JVM वर्तमान सुरक्षित बिंदु में ओप मैप्स को चेक करके वर्तमान थ्रेड के लिए सभी जीसी रूट सेट को आसानी से पा सकता है। क्या सही है? बहुत बहुत धन्यवाद। –
@BillRanderson 1) सबसे अच्छा संदर्भ स्रोत कोड (अच्छी तरह से प्रलेखित बीटीडब्ल्यू) है: [generOopMap.cpp] (http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/file/d638e49facb6/src/share/ वी एम/उफ़/generateOopMap.cpp)। InterpreterOopMap [OopMapCache] में संग्रहीत हैं (http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/file/d638e49facb6/src/share/vm/interpreter/oopMapCache.hpp)। – apangin
@ बिलरैंडसन 2) जीसी के दौरान जेवीएम सभी थ्रेड स्टैक के माध्यम से चलता है। प्रत्येक ढेर को ढेर फ्रेम की धारा के रूप में पार्स किया जाता है। फ्रेम या तो व्याख्या या संकलित या स्टब्स हैं। व्याख्या किए गए फ़्रेम में जावा विधि और बीसीआई (बाइटकोड इंडेक्स) के बारे में जानकारी होती है। OopMapCache दिए गए विधि और बीसीआई से संबंधित ओपैप खोजने में मदद करता है। एक संकलित फ्रेम की विधि निर्देश पता लुकअप द्वारा खोजा जाता है। संकलित विधियों में कोड के साथ ओपमैप्स होते हैं। – apangin
- 1. ओप
- 2. ओप
- 3. फोर्क वाले जावा वीएम रखने का क्या अर्थ है?
- 4. विंडोज कार्य प्रबंधक में "वीएम आकार" का क्या अर्थ है?
- 5. हॉटस्पॉट वीएम डीबग मोड में कैसे जाने दें?
- 6. जावा हॉटस्पॉट (टीएम) 64-बिट सर्वर वीएम चेतावनी
- 7. हॉटस्पॉट
- 8. हॉटस्पॉट क्रैश
- 9. एंड्रॉइड में मल्टीप्लेक्ड हॉटस्पॉट
- 10. ओरेकल जावा हॉटस्पॉट वीएम प्रदर्शन विकल्पों की वर्तमान स्थिति क्या है (+ UseStringCache, + UseCompressedStrings, + OptimizeStringConcat)
- 11. हॉटस्पॉट लूप स्थिति अनुकूलक का अजीब व्यवहार
- 12. Google धरती हीट मैप्स
- 13. पोर्टेबल हॉटस्पॉट
- 14. अर्थ का अर्थ {*; } ProGuard में
- 15. कौन सा जावा हॉटस्पॉट जेआईटी कंपाइलर चल रहा है?
- 16. वाईफाई हॉटस्पॉट
- 17. Tensorflow में global_step का क्या अर्थ है?
- 18. आर भाषा का अर्थ है?
- 19. बेंचमार्क में ऑलॉक्स/सेशन और बी/ओप का क्या मतलब है?
- 20. वीएम
- 21. हॉटस्पॉट जेवीएम बाइटकोड इंटरप्रेटर एक ट्रेसिंग जेआईटी है?
- 22. वीएम
- 23. वीएम
- 24. बफरब्लोब :: JVM क्रैश लॉग में इंटरप्रेटर का क्या अर्थ है?
- 25. मैप किए गए अर्थ का अर्थ एनोटेशन में विशेषता है?
- 26. {} का क्या अर्थ है?
- 27. "===" का क्या अर्थ है?
- 28. मैप्स
- 29. , मैप्स
- 30. विंडोज़ वीएम
दिलचस्प अतिथि, लेकिन टिप्पणी के बिना नकारात्मक वोट क्यों हैं? किसी को JVM से हेडहर्ट मिल रहा है? – jkj
मुझे केवल एक नकारात्मक वोट दिखाई देता है –