jvm的内存划分

  • 原因:
    1、jvm是从window上虚拟出的一个机器,使用window提供的硬盘和内存资源
    2、当jvm启动时,就会暂用一大块的内存空间,所以要有一个规划
    3、将jvm的这块内存空间,根据功能的不同,划分为不同区域,各程序之间,不会相互干扰,效率提高

  • 具体的划分方法
    1、栈内存【常用】:用于执行方法,每个方法都在栈内存中,有一个独立的存储和执行空间,称为一个栈帧,给某个方法分配栈帧,称为方法进栈,
    2、堆内存【常用】:用于存储数据对象等数据比较大的数据。被称为“垃圾回收区”,堆内存中的数据,使用之后,不会被立即回收。过一段时间后,jvm有一个垃圾回收机制,会清理掉过多的垃圾。
    3、方法区【常用】:用于存储类的字节码对象、常量、静态的变量。存储的数据也是数据量较大,存储时间非常久
    4、本地方法区:用于执行本地方法。
    5、程序计数器:用于控制程序的执行,控制程序执行到那个操作。

jvm的内存划分

相关文章: