इंस्टेंस फील्ड्स (प्रॉपर्टी बैकिंग फील्ड्स सहित) एन-ऑब्जेक्ट्स के लिए एन-कॉपी प्राप्त करते हैं।
स्टेटिक फील्ड्स को प्रति क्लास एक ही कॉपी मिलती है।
तरीके बाइटकोड (या जेआईटी के बाद, देशी निर्देशों के ब्लॉक) के ब्लॉक हैं जो प्रोग्राम "छवि" या निष्पादन कोड खंड का हिस्सा हैं। विधियाँ पहले से ही प्रोग्राम इमेज का हिस्सा हैं क्योंकि यह डिस्क पर बैठती है। एक बार जब छवि ओएस (या सीएलआर) द्वारा लोड हो जाती है, तो विधि कोड की एकल साझा प्रतिलिपि होती है।
वे सामान्य रूप से "हीप" या रनटाइम आवंटन का हिस्सा नहीं होते हैं, केवल उन मामलों को छोड़कर जहां आप मक्खी पर नए तरीकों को संकलित करने के लिए होस्टेबल कंपाइलर का उपयोग कर सकते हैं। तरीकों को वस्तुओं की तरह "आवंटित" नहीं मिलता है और वे ऑब्जेक्ट निर्माण के सापेक्ष "आवंटित" नहीं होते हैं। वे केवल कार्यक्रम के हिस्से के रूप में मौजूद हैं, इससे पहले कि कोई भी वस्तु कभी तात्कालिक हो। यहां तक कि लैम्ब्डा / डेलीगेट्स को भी मक्खी पर आवंटित नहीं किया जाता है। कंपाइलर इन अन्य प्रतीत होता है गतिशील कोड ऑब्जेक्ट्स को लागू करने के लिए कक्षाएं ऑन-डिमांड बनाता है, और वे डिस्क पर बाइटकोड छवि के हिस्से के रूप में भी मौजूद हैं।
टिप्पणी प्रति अपडेट:
JVM मानक को यह कहना है:
2.5.4। विधि क्षेत्र
जावा वर्चुअल मशीन में एक विधि क्षेत्र है जो सभी जावा वर्चुअल मशीन थ्रेड्स के बीच साझा किया गया है। विधि क्षेत्र एक पारंपरिक भाषा के संकलित कोड के लिए भंडारण क्षेत्र के अनुरूप है या एक ऑपरेटिंग सिस्टम प्रक्रिया में "पाठ" खंड के अनुरूप है। यह प्रति-वर्ग संरचनाओं जैसे रन-टाइम निरंतर पूल, फ़ील्ड और विधि डेटा, और क्लास और उदाहरण इनिशियलाइज़ेशन और इंटरफ़ेस इनिशियलाइज़ेशन में उपयोग किए जाने वाले विशेष तरीकों (.92.9) सहित विधियों और निर्माणकर्ताओं के लिए कोड संग्रहीत करता है।
विधि क्षेत्र वर्चुअल मशीन स्टार्ट-अप पर बनाया गया है। यद्यपि विधि क्षेत्र तार्किक रूप से ढेर का हिस्सा है, सरल कार्यान्वयन शायद या तो कचरा इकट्ठा करने या इसे कॉम्पैक्ट करने के लिए नहीं चुन सकते हैं। जावा वर्चुअल मशीन विनिर्देश के इस संस्करण में संकलित कोड को प्रबंधित करने के लिए उपयोग की जाने वाली विधि क्षेत्र या नीतियों का स्थान अनिवार्य नहीं है। विधि क्षेत्र एक निश्चित आकार का हो सकता है या गणना द्वारा आवश्यक के रूप में विस्तारित किया जा सकता है और यदि एक बड़ा विधि क्षेत्र अनावश्यक हो जाता है तो अनुबंधित किया जा सकता है। विधि क्षेत्र के लिए मेमोरी को सन्निहित होने की आवश्यकता नहीं है।
अतः यह स्पष्ट है कि (1) हाँ युक्ति यह निर्धारित नहीं करती है कि यह कैसे किया जाता है, लेकिन (2) यह एक पारंपरिक भाषा के संकलित कोड के लिए भंडारण क्षेत्र के अनुरूप है, अर्थात। पाठ खंड। यह बात मैं बना रहा हूं।