यह प्रश्न HotSpot generations पर दायरे में सीमित है। प्रोग्रामिंग के लिए कोई तरीका है कि किस पीढ़ी में एक विशेष उदाहरण रहता है। डेटा जैसे:क्या मैं प्रोग्रामेटिक रूप से पता लगा सकता हूं कि जीसी पीढ़ी एक उदाहरण कहाँ रहता है?
- युवा या पुरानी पीढ़ी?
- यदि युवा, जो उत्तरजीवी अंतरिक्ष है?
- टीएलबी के अंदर? कौन सा धागा? (उदा।, BTrace, JVMTI)
कोई भी तकनीक इतने लंबे समय से काम करता है मैं इस तरह कुछ कर सकते हैं के रूप में:
Object x = new Object();
HotSpotGenerationInfo info = HotSpotGenerationUtil.getInfo(x);
Beggars चयनकर्ताओं के नहीं किया जा सकता लेकिन आदर्श मैं भी जब के कहने सीख सकते हैं ब्याज पल में एक और एक पीढ़ी से ले जाया जा रहा था यह (यानी, घटना कॉलबैक आधारित। - देरी & भूमि के ऊपर मतदान में निहित में कोई दिलचस्पी नहीं) होता है
जवाब में रुचि नहीं है जो सिर्फ औचित्य के बिना "नहीं" कहता है :)
मुझे उत्सुकता है कि आपको इसमें रुचि क्यों होगी। पाठ्यक्रम की शुद्ध जिज्ञासा के अलावा :) – drekka
शायद यह नहीं किया जा सकता है क्योंकि ए) यह संसाधनों को और अधिक महंगा बना देगा, और बी) इसे करने के लिए किसी को भी अच्छा उपयोग नहीं मिला है। शायद आपके पास अच्छा उपयोग है, और इसे प्रकट कर सकते हैं? –
यदि कोई gen0 संग्रह निष्पादित करता है तो यह संकेत मिलता है कि सभी जीवित वस्तुएं gen1 या उच्चतर हैं, और एक gen1 या gen2 संग्रह का तात्पर्य है कि सभी जीवित वस्तुएं gen2 या उच्चतर हैं, और यदि सिस्टम प्रत्येक ऑब्जेक्ट के लिए कुछ झंडे रखता है यह दर्शाता है कि कोई gen0 या gen1 संग्रह ऑब्जेक्ट को अंतिम बार संशोधित करने के बाद से किया गया है, सिस्टम को gen0 या gen1 संग्रह करने के दौरान पता चल सकता है कि ऑब्जेक्ट में कोई gen0 या gen1 संदर्भ नहीं है। एक बहुत ही उपयोगी अनुकूलन। – supercat