首页 > 编程知识 正文

本地方法栈和虚拟机栈区别,jdk8jvm内存模型

时间:2023-05-03 12:10:53 阅读:166881 作者:1155

JVM内存型号

1 ) JVM内存模型分为Java虚拟机堆栈、本地方法堆栈、堆、程序计数器、方法领域(元空间) 5个领域

)2)各区各自的作用:

a .本地方法堆栈:用于管理本地方法的调用,里面没有我们写的代码逻辑,它通过native修饰,通过c语言实现。

b .程序计数器:这是一个小内存区域,主要用于记录每个线程执行的字节码地址。 例如,分支、循环、线程恢复等依赖于计数器。

c .方法领域(Java8称为元空间)用于存储加载到虚拟机中的类别信息、常量、静态变量等数据。

d.Java虚拟机堆栈:用于存储本地变量表、操作数堆栈、动态链接和方法出口等信息。 (堆栈中容纳了地址,实际上是指堆栈中的对象)

e .堆: Java虚拟机中最大的内存块由所有线程共享,几乎所有对象实例都在此处分配内存;

)3)线程专用、公共

答.线程专用:为每个线程创建这样的内存。 线程数量是多少,内存的数量可能是多少

Java虚拟机堆栈、本地方法堆栈和程序计数器是线程的专用

b .线程全局共享的

堆和方法区域

)堆栈在方法运行后被清空,但堆栈上的东西还没有被清空,因此GC ) )垃圾回收)被提取,无法立即删除。 因为不知道还有没有其他引用现在的地址访问的东西

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。