2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > JVM_03 运行时数据区 [ 程序计数器+本地方法栈 ]

JVM_03 运行时数据区 [ 程序计数器+本地方法栈 ]

时间:2023-04-22 17:00:55

相关推荐

JVM_03 运行时数据区 [ 程序计数器+本地方法栈 ]

一、 程序计数器

①. 作用,是用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令

②. 特点:①. 是线程私有的 ②. 不会存在内存溢出

③. 注意:在物理上实现程序计数器是在寄存器实现的,整个cpu中最快的一个执行单元

④. 它是唯一一个在java虚拟机规范中没有OOM的区域

解释:

⑤. 使用PC寄存器存储字节码指令地址有什么用呢?

为什么使用PC寄存器记录当前线程的执行地址呢?

⑥. PC寄存器为什么设定为线程私有?

(为了能够准确记录各个线程正在执行的当前字节码指令地址,最好的办法自然是为每一个线程都分配一个PC寄存器)

⑦. 关于线程在JVM中的说明:

1.在Hotspot JVM里,每个线程都与操作系统的本地线程直接映射 解释:当一个Java线程准备好执行以后,此时一个操作系统的本地线程也同时创建.Java线程执行终 止后,本地线程也会被回收2.操作系统负责所有线程的安排调度到任何一个可用的CPU上。一旦本地线程初始化完毕,它就会调 用Java线程中的run方法

二.、本地方法栈

Native Interface本地接口

本地方法栈(Native Method Stack)

(它的具体做法是Native Method Stack中登记native方法,在Execution Engine 执行时加载本地方法库)

native方法的举例: Object类中的clone wait notify hashCode 等 Unsafe类都是native方法

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。