我试图完全理解 Java 如何使用它的内存安排。网上的讨论很混乱,有时会互相矛盾,所以我找不到可以信任的人。如果它与静态、静态方法、局部变量、线程、易失性等混合在一起,这个东西可能会非常复杂。所以我在想是否有一种方法可以让我自己研究我做一些 Java 编码实验。一个类 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"
}