程序计数器

程序计数器

PC寄存器特点

  • PC寄存器用来存储指令相关的现场信息,它区别于广义上的物理寄存器,可以看作是物理PC寄存器的一种抽象模拟。
  • 在jvm内存模型中,它运行速度最快;线程私有,并且生命周期与线程的生命周期保持一致。
  • 任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的Java方法的JVM指令地址
  • 不会出现 OOM 异常。
  • PC寄存器用来存储指向下一条指令的地址,执行引擎会从寄存器中取到指令并执行。

面试题

  • PC寄存器存储字节码指令地址的作用是因为线程是顺序执行流,CPU切换线程,切换回来时需要接着执行、字节码解释器就需要通过改变PC寄存器的值来明确下一条应该执行什么样的字节码指令。
  • PC寄存器被设定为私有的原因是:CPU切换线程会导致线程不断中断或者恢复,需要准确记录各个线程间正在执行的字节码指令。

并行和并发

  • 并行:同一时刻进行两个或多个任务。
  • 并发:一段时间(同一时间间隔)内,进行两个或多个任务。
  • 同一时刻和同一时间间隔的区别。
posted @ 2021-02-02 23:28  潇~萧下  阅读(140)  评论(0编辑  收藏  举报