加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

Java措施计数器刨根问底,大部门措施员都保藏起来了

发布时间:2019-08-10 03:09:59 所属栏目:移动互联 来源:点点趣说
导读:JAVA假造机打点的内存地区图 1.什么是措施计数器? 措施计数器是当前列程正在执行的字节码的地点。措施计数器是线程断绝的,每一个线程在事变的时辰都有一个独立的计数器。 2.字节码的执行道理 编译后的字节码在没有颠末JIT(及时编译器)编译前,是通过字节

 Java措施计数器刨根问底,大部门措施员都保藏起来了

JAVA假造机打点的内存地区图

Java措施计数器刨根问底,大部门措施员都保藏起来了

1.什么是措施计数器?

措施计数器是当前列程正在执行的字节码的地点。措施计数器是线程断绝的,每一个线程在事变的时辰都有一个独立的计数器。

2.字节码的执行道理

编译后的字节码在没有颠末JIT(及时编译器)编译前,是通过字节码表明器举办表明执行。其执行道理为:字节码表明器读取内存中的字节码,凭证次序读取字节码指令,读取一个指令就将其翻译成牢靠的操纵,按照这些操纵举办分支,轮回,跳转等举措。

3.措施计数器的浸染?

从字节码的执行道理来看,单线程的环境下措施计数器是无关紧要的。由于纵然没有措施计数器的环境下,措施会凭证指令次序执行下去,纵然碰着了分支跳转这样的流程也会凭证跳转到指定的指令处继承次序执行下去,是完全可以或许担保执行次序的。

可是实际中措施每每是多线程协作完成使命的。JVM的多线程是通过CPU时刻片轮转来实现的,某个线程在执行的进程中也许会由于时刻片耗尽而挂起。当它再次获取时刻片时,必要从挂起的处所继承执行。在JVM中,通过措施计数器来记录措施的字节码执行位置。措施计数用具有线程断绝性,每个线程拥有本身的措施计数器

4.措施计数器的特点

(1)措施计数用具有线程断绝性

(2)措施计数器占用的内存空间很是小,可以忽略不计

(3)措施计数器是java假造机类型中独逐一个没有划定任何OutofMemeryError的地区

(4)措施执行的时辰,措施计数器是有值的,其记录的是措施正在执行的字节码的地点

(5)执行native当处所法时,措施计数器的值为空。缘故起因是native要领是java通过jni挪用当地C/C++库来实现,非java字节码实现,以是无法统计

【编辑保举】

  1. JavaScript开拓者的27个神奇VSCode器材
  2. 将Java历程转移到“剖解台”之前,法医都干了什么?
  3. GitHub的十大JavaScript项目
  4. 能看懂这10个JavaScript难点的措施员命运不会太差…
  5. 10个艰巨的Java口试题与谜底
【责任编辑:华轩 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读