天天看点

JVM深入学习(五)-运行时数据区之本地方法栈

与虚拟机栈类似(管理java方法的调用),本地方法栈主要管理本地方法的调用

整体机制与虚拟机栈类似

  1. 线程私有
  2. 栈大小可以固定也可以动态
    1. 同样的会出现StackOverFlowError/OOM
  1. 本地方法使用C/C++实现的
  2. 具体做法是本地方法栈中登记本地方法,由执行引擎加载本地方法库执行
  3. JVM调用一个本地方法接口的时候,就不再收JVM限制了,因为本地方法的权限和JVM相同,并且因为是C/C++实现的本地方法,可以直接调用物理机的本地寄存器/本地内存
  4. JVM规范并没有强制要求实现本地方法栈
  5. Hotspot JVM将本地方法栈和虚拟机栈合二为一