JVM堆内存、方法区和栈内存的关系

以下代码展示Java堆内存、方法区和Java栈内存之间的关系

package cn.liang.jvm;
public class SimpleHeap {
    private int id;
    public SimpleHeap(int id){
        this.id = id;
    }
    public void show(){
        System.out.println("My ID is " + id);
    }
    public static void main(String[] args) {
        SimpleHeap s1 = new SimpleHeap(1);
        SimpleHeap s2 = new SimpleHeap(2);
        s1.show();
        s2.show();
    }

}

引用关系图:

  • SimpleHeap实例本身分配在堆内存中
  • 描述SimpleHeap类的信息存放在方法区
  • main()函数中s1和s2局部变量存放在Java栈内存中,并指向堆内存的两个实例

猜你喜欢

转载自www.cnblogs.com/liangjingfu/p/10026587.html