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