「JVM系统学习之路」初步了解本地方法接口和本地方法栈( 二 )

  • 本地方法是使用C语言实现的 。
  • 它的具体做法是Native Method Stack 中登记native方法 , 在Execution Engine 执行时加载本地方法库 。

  • 「JVM系统学习之路」初步了解本地方法接口和本地方法栈文章插图
    • 当某个线程调用一个本地方法时 , 它就进入了一个全新的并且不再受虚拟机限制的世界 。 它和虚拟机拥有同样的权限 。
    • 本地方法可以通过本地方法接口来访问虚拟机内部的运行时数据区 。它甚至可以直接使用本地处理器中的寄存器 直接从本地内存的堆中分配任意数量的内存 。
    • 并不是所有的 JVM 都支持本地方法 。 因为Java 虚拟机规范并没有明确要求本地方法栈的使用语言、具体实现方式、数据结构等 。 如果 JVM 产品不打算支持 native 方法 , 也可以无需实现本地方法栈 。
    • 在Hotspot JVM中 , 直接将本地方法栈和虚拟机栈合二为一 。
    作者:山间木匠链接:来源:掘金著作权归作者所有 。 商业转载请联系作者获得授权 , 非商业转载请注明出处 。