乐趣区

关于java:第-7-章-本地方法栈详解

第 7 章 本地办法栈

1、本地办法栈

微信搜一搜: 全栈小刘,获取文章全套 pdf 版

本地办法栈的特点

  1. Java 虚拟机栈于治理 Java 办法的调用,而 本地办法栈用于治理本地办法的调用
  2. 本地办法栈,也是线程公有的。
  3. 容许被实现成 固定或者是可动静扩大的内存大小(在内存溢出方面和虚拟机栈雷同)

    • 如果线程申请调配的栈容量超过本地办法栈容许的最大容量,Java 虚拟机将会抛出一个 stackoverflowError 异样。
    • 如果本地办法栈能够动静扩大,并且在尝试扩大的时候无奈申请到足够的内存,或者在创立新的线程时没有足够的内存去创立对应的本地办法栈,那么 Java 虚拟机将会抛出一个 outofMemoryError 异样。
  4. 本地办法个别是应用 C 语言实现的。
  5. 它的具体做法是 Native Method Stack 中注销 native 办法,在 Execution Engine 执行时加载本地办法库。

注意事项

  1. 当某个线程调用一个本地办法时,它就进入了一个全新的并且不再受虚拟机限度的世界。它和虚拟机领有同样的权限。

    • 本地办法能够通过本地办法接口来 拜访虚拟机外部的运行时数据区
    • 它甚至能够间接应用 本地处理器中的寄存器
    • 间接从 本地内存的堆中调配任意数量的内存
  2. 并不是所有的 JVM 都反对本地办法。因为 Java 虚拟机标准并没有明确要求本地办法栈的应用语言、具体实现形式、数据结构等。如果 JVM 产品不打算反对 native 办法,也能够无需实现本地办法栈。
  3. 在 Hotspot JVM 中,间接将本地办法栈和虚拟机栈合二为一。

你只管学习,我来负责记笔记???? 关注公众号!, 更多笔记,等你来拿,谢谢



退出移动版