先看一段代码:
public class StudentTest{
public static void main(String[] args){
int i = 10;
Student student = new Student();
}
}
接下来开始分析内存变化:
1、第一步进行类加载:将方法中需要的类文件加载到方法区中:
2、接下来,程序开始执行,首先,开始执行main()方法,将main()方法的栈桢放入栈内存中:
3、接下来执行第一条程序,创建一个int基本数据类型,将变量名存入main()方法栈桢中:
4、接下来执行第二条程序,创建一个引用数据类型的实例对象,将实例对象的引用存入栈区的main()方法栈桢中,并且将实例对象存放到堆内存中。
以上就是该程序在JVM内存中的变化。