- 一、PC Register(PC寄存器的介绍)
- Oracle的官方文档介绍
- 寄存器存储指令相关的寄存信息,CPU只有把数据装载到寄存器才能够运行
- PC寄存器用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令
- 是一快很小的内存空间,几乎可以忽略不计。也是运行速率最快的存储空间
- 每一个线程有一份PC寄存器,是线程私有的,生命周期与线程的生命周期相同,保持一致
- 二、举例说明
- PC寄存器中存储指令地址,执行引擎从PC寄存器中读取指定地址进行操作
- 三、常见的问题
- 使用PC寄存器存储字节码指令地址有什么用?(为什么使用PC寄存器存储当前线程的执行地址呢?)
- 因为CPU执行的时候在不停的切换各个线程,这时候切换回来就得知道从哪开始继续执行
- PC寄存器为什么会被设定为线程私有的?
- 为了能过准确的记录各个线程当前的字节码指令地址,最好的办法就是每个线程一份PC寄存器这样每个线程之间就能进行独立的计算互不干扰
- CPU的时间片
- CPU分配给各个程序的时间,每个线程被分配到一个时间段,称作他的时间片
- 并行与并发
- 并行:串行(只有一个跑道)
- 并发:多个跑道
- 使用PC寄存器存储字节码指令地址有什么用?(为什么使用PC寄存器存储当前线程的执行地址呢?)
JVM程序计数器(PC寄存器)
最新推荐文章于 2023-01-05 17:30:02 发布