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"
}