मैं पूरी तरह से समझने की कोशिश कर रहा हूं कि जावा अपनी मेमोरी व्यवस्था के साथ कैसे काम करता है। इंटरनेट पर चर्चा बहुत उलझन में होती है, और कभी-कभी एक-दूसरे से विरोधाभास करती है, इसलिए मुझे कोई भी विश्वास नहीं मिला जिसे मैं भरोसा कर सकता हूं। यह चीज बहुत जटिल हो सकती है अगर यह स्थैतिक, स्थैतिक विधि, स्थानीय चर, धागा, अस्थिर और अन्य के साथ मिश्रित हो। तो मैं सोच रहा हूं कि क्या कोई तरीका है कि मैं खुद को कुछ जावा कोडिंग प्रयोग कर रहा हूं। एक वर्ग MemoryTrack कुछ इस तरह,जावा में, क्या एक चर, एक विधि या वर्ग हैप या स्टैक में बनाए गए वर्ग को ट्रैक करने का कोई तरीका है?
public myMethod(){
int i = 0;
MemoryTrack.show(new myClass()); //print out "Heap at address 111"
MemoryTrack.show(new myClass()); //print out "Heap at address 222"
MemoryTrack.show(i); //print out "Stack at address 333"
MemoryTrack.show("a static method"); //print out "stack at address 444"
}
इसे उत्तर के रूप में क्यों पोस्ट नहीं करें? –
किसी भी घटना में, जावा के बिंदु का हिस्सा यह है कि आपको ध्यान नहीं देना चाहिए कि ढेर पर क्या है और ढेर पर क्या है - वास्तव में, जेआईटी कभी-कभी यह पता लगा सकता है कि कुछ सामान्य रूप से उस स्टैक पर जा सकता है जो आमतौर पर ढेर। –
@ ज़ोलटन: किया गया। - – ignis