当前位置:首页 > 内存 > 正文

jvm内存分为哪几个区域

  • 内存
  • 2024-08-29 02:24:14
  • 3594

一、java虚拟机中内存规划为哪些区域1、JVM内存区域1,一个小的程序计数器内存区域,作为当前线程执行的字节码的行号指示器。堆栈类似于程序计数器。Java栈(虚拟机栈)也是线程私有的,其生命周期与线程相同。通常存储基本数据类型、对象引用(指向对象的开头)。


二、Java把如何把内存划分为4个部分?

Java将内存分为四部分:

1.栈段——由编译器自动分配和释放,用于存储函数参数值、局部变量值等。具体方法是:执行完成后,系统自动释放JVM内存资源。

2.堆段-通常由程序员分配和释放,用于存储new创建的对象和数组。JVM会时不时地检查这个对象,如果没有引用它就回收它。

3.静态区(数据段)——存放全局变量、静态变量、字符串常量,且不释放。

4.代码段-存储程序中方法的二进制代码,并允许多个对象共享代码区空间。