JVM--本地接口、PC寄存器

本地接口(Native Interface)

本地接口的作用是融合不同的编程语言为Java所用,它的初衷是融合C/C++程序,于是就在内存中专门开辟了一块处理标记为native的代码,它的具体做法是Native Method Stack中登记native方法,在Execution Engine执行时加载native libraies。

目前该方法使用的越来越少了,除非是与硬件有关的应用,比如通过Java程序驱动打印机或者Java系统管理生产设备,在企业级应用中已经比较少见。因为现在的异构领域间的通信很发达,比如可以使用Socket通信,也可以使用Web Service等等,不多做介绍。

Native Method Stack

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

PC寄存器

(Program Counter Register)程序计数器。

每个线程都有一个程序计数器,是线程私有的,就是一个指针,指向方法区中的方法字节码(用来存储指向下一条指令的地址,也即将要执行的指令代码),由执行引擎读取下一条指令,是一个非常小的内存空间,几乎可以忽略不记。

这块内存区域很小,它是当前线程所执行的字节码的行号指示器, 字节码解释器通过改变这个计数器的值来选取下一条需要执行的字节码指令。

如果执行的是一个Native方法,那这个计数器是空的。

用以完成分支、循环、跳转、异常处理、线程恢复等基础功能。不会发生内存溢出(OutOfMemory==00M)错误。

发布了662 篇原创文章 · 获赞 1894 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/cold___play/article/details/104075474
今日推荐