JVM结构图
2021-07-09 11:00:26 9 举报
JVM结构图
作者其他创作
大纲/内容
本地方法库
各个线程隔离的数据区域
常量池Constant Pool:编译器生成字面量和符号引用
常量池
所有线程共享的数据区域
JVM结构图
栈帧
年轻代
thread3工作内存
本地方法栈Locale Method Area
栈帧2
局部变量表
thread1工作内存
操作数栈
程序计数器Program Counter Register记录每个线程执行字节码class文件的行号指示器。执行java代码时字节码指令地址。执行native方法时值为undefind。
thread4工作内存
堆Heap
虚拟机栈VM Stack
执行引擎
高速缓存
持久代
栈帧1
方法出口
方法区Method Area
运行时常量池Runtime Constant Pool
本地库接口
动态链接
年老代
Java8之前,常量池是存放在堆中的,常量池就相当于是在永久代中,所以永久代存放在堆中。Java8之后,取消了整个永久代区域,取而代之的是元空间。常量池就不存放在堆中了,而是存放在方法区里面,与堆栈是并列关系。永久代也就不存放在堆中了。
存放对象实例java.lang.OutOfMemoryError
thread2工作内存
存放类信息、常量、静态变量java.lang.OutOfMemoryError
0 条评论
回复 删除
下一页