【 前言】
前面我们学习了java的基本类型和引用类型,我们继续深入了解下 java堆栈内存结构。
【 java内存结构 】
那么,就有人问了,基本类型和引用类型有啥区别,啥是引用类型,这就有很大学问了,顺便也扯上了变量内存结构了。变量声明就是一个内存空间的开辟,那这些内存空间在哪呢?
首先了解一下java内存结构:JVM分了5片内存:
1、程序计数器:记录程序执行到哪一个指令
2、本地方法栈:与虚拟机栈功能相似,不过虚拟机栈为java方法服务,本地方法栈为Native方法服务
3、方法区:存放字节码,常量 ,静态变量,是一个共享的区域
4、虚拟机栈:执行方法其实就是栈帧入栈,出栈的过程,因为是跟方法有关的,而且局部变量常常在方法中,所以栈存储的是局部变量
5、堆:存放引用类型,成员变量
我们接触最多的是堆和栈(虚拟机栈),这里一定要注意这两个的区别。
(1)主要是存储方法帧的,每执行一个方法的时候,就会为该方法创建一个栈帧,使其入栈。然而局部变量一般随着方法生成而存在,所以局