前言
简单的java内存结构图
1.方法区:用来存储代码。将.class文件加载到内存中,并存储在方法区
2.栈:用来存储局部变量,形参,方法的返回值,中间运算结果
3.堆:成员变量,数组对象,方法的引用
4.本地方法区:存储链接本地方法相关的代码
5.执行过程:
执行了java命令之后,classloader将.class文件,加载到内存中并存储在方法区。
然后JVM调用main方法,顺次执行代码。
将局部变量存储在栈区中,将引用变量是指向内容存储在堆区中。
引用变量所指向的空间,用来存储hashcode码,顺次执行到mian方法完毕。
再通过classLoader将.class文件内容在JVM所占用的空间全部卸载。
程序运行时保存到什么地方
(1) 寄存器。这是最快的保存区域,