JVM本地方法栈

本地方法接口

(Native method)本地方法,是java语言调用非java语言的接口,方法体的具体实现是由非java语言实现编写(例如Object 中的 getClass())。使用native修饰java的方法称为本地方法。
JVM本地方法栈_第1张图片
作用:与java外面的环境交互(C、C++、操作系统),提高部分程序效率。

本地方法栈

java虚拟机栈用于管理java方法的调用,本地方法栈用于管理本地方法的调用。
本地方栈也是线程私有,栈大小允许固定长度或动态扩展。
JVM本地方法栈_第2张图片
当某个线程调用一个本地方法时,他就进入了一个全新的并且不再受虚拟机限制的世界(进入用C编写操作系统的虚拟机,拥有同样的权限)。

  • 本地方啊可以通过本地方法接口来访问虚拟机内部的运行时数据区
  • 它甚至可以直接使用本地处理器(cpu)的寄存器
  • 直接从本地内存(主机内存)的堆中分配任意数量的内存

并不是所有的虚拟机都支持本地方法(Hotspot支持),因为java虚拟机规范没有给出明确要求。

你可能感兴趣的:(JVM,jvm,java,开发语言)