jvm本地方法栈

定义

java虚拟机栈用于管理java应用的方法,而本地方法栈用于管理本地方法的调用。本地方法栈与虚拟机栈类似也是线程私有的,并且本身可以设置成固定大小也可扩展

调用机制

当某个线程调用一个方法时,将该方法压入虚拟机栈中,尔后此方法再调用本地方法时,会将本地方法通过动态链接的方式调用到实际的非java语言的方法。当执行本地方法时,由于可以直接跟操作系统打交道,便可以做到与jvm同样的权限,甚至可以做到如下事项:

  • 通过本地方法接口访问虚拟机的内部的运行时数据区
  • 可以使用本地处理器的寄存器
  • 直接从本地内存的堆中分配任意数量的内存
  • 需要注意的是不一定所有的vm都支持本地方法

猜你喜欢

转载自blog.csdn.net/lyd135364/article/details/120815158