JVM学习笔记——程序计数器

在网上挑选了这么几段话,精简易懂

程序计数器(program counter register)只占用了一块比较小的内存空间,至于小到什么程度呢,这样说吧,有时可以忽略不计的。

可以看作是当前线程所执行的字节码文件(class)的行号指示器。在虚拟机的世界中,字节码解释器就是通过改变计数器的值来选取下一条执行的字节码指令,分支、循环、跳转、异常处理、线程恢复都需要这玩意来实现的。

上面提到线程恢复,那下面介绍下其详细流程:

java虚拟机多线程是通过线程间轮流切换来分配给处理器执行时间;在确定时间节点,一个处理器(一核)只会执行一个线程的指令;为保证 线程切换 回来后能恢复到原执行位置,各个线程间计数器互相不影响,独立存储(称之为 线程私有 的内存);

如果执行的是java方法,那么记录的是正在执行的虚拟机字节码指令的地址的地址,如果是native方法,计数器的值为空(undefined)。

最后,动动自己的大脑,想下面的问题:

这个内存区域是唯一一个在java虚拟界规范中没有规定任何OutOfMemoryError的情况的区域。至于为什么没有这个异常呢,要是一个计数的功能在出这个异常,那么我也是醉了。

介绍下我的所有文集:

流行框架

SpringCloud
springboot
nginx
redis

底层实现原理:

Java NIO教程
Java reflection 反射详解
Java并发学习笔录
Java Servlet教程
jdbc组件详解
Java NIO教程
Java语言/版本 研究

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 11,299评论 4 56
  • 《深入理解Java虚拟机》笔记_第一遍 先取看完这本书(JVM)后必须掌握的部分。 第一部分 走近 Java 从传...
    xiaogmail阅读 5,144评论 1 34
  • 对他,我会依赖。 有时,我会撒娇。 有时,也会分享。 同时,也会倾诉。 或者,共同进步。 对我,他会引导。 有时,...
    阳光明媚_2de6阅读 195评论 0 1
  • 看着镜中自己,一直在努力的活着,为了生活,变瘦了。 嗨,小妞,你应该好好爱自己。爱自己头发,又黑又亮,你正年轻;爱...
    小花的能量阅读 215评论 0 0
  • 明明只有学徒的技术,收费要按师傅价。 昨天公司食堂插头碰电整个插头都黑了,里面的线都烧焦了。同一个线路的都没电,只...
    随心127阅读 473评论 0 0