Java内存区域划分

发布时间 2023-09-22 21:24:03作者: szmtjs10

前言

为什么要对内存进行区域划分?

我们知道, 在厨房做菜的时候,厨师需要用到东西都是放在固定区域的

比如,厨具放在厨具区,调料放在调料区,菜料放在菜品区

这样在做菜的时候,厨师就能够很容易的找到要用到的厨具,从而将专注力都汇聚在炒菜本身,而不是找工具

JVM划分内存区域的道理也是相同

运行程序就好比是在做菜,运行程序所需要的数据,就是做菜时需要用到的原料

jvm大厨为了能够在运行程序的时候,能够比较轻松的拿到和存放和清理数据,所以将运行时数据区域进行了详细的划分.

这些区域有各自的用途,以及创建和销毁的时间

有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。

接下来我们开始详细介绍这五个内存区域,根据《Java虚拟机规范》的规定,虚拟机所管理的内存如图所示。