JAVA内存分配
栈内存:存储局部变量-------使用完毕,立即消失
堆内存:存储new出来的内容(实体,对象)-----------使用完毕,会在垃圾回收器空闲的时候被回收

jvm内存的划分
1、jvm在执行的时候,会在电脑的内存条中,为自己这个应用程序申请一块内存空间,这块空间就是jvm的内存空间,这块内存空间很大,对于这部分空间进行了划分,划分为不同的区域,jvm的内存分区:栈内存、堆内存、方法区、本地方法区、程序计数器,一共五块
2、jvm内存分区的概述
(1) 栈内存(常用):用去执行方法的区域,当有多个方法在执行的时候,会为每个方法划分一块空间,每个方法所在的地方叫做“栈帧”,每个方法进入栈内存的过程称为”进栈”,栈内存管理数据的特点:先进后出
(2) 堆内存(常用):用于存储数组,对象等数据比较大的数据,这些一般都是引用数据类型
(3) 方法区(常用):用于存储字节码文件(.class),常量,存储静态变量
(4) 本地方法区:用去存储执行的方法,都是c和C++写的
(5) 程序计数器:用来控制程序的执行流程,决定要执行程序中哪行代码

浙公网安备 33010602011771号