本地方法栈
java虚拟机栈用于管理java方法的调用,而本地方法栈则是用来管理本地方法的调用,本地方法栈也是线程私有的,本地方法被执行时,在本地方法栈也会创建一个栈帧,用于存放该本地方法的局部变量表、操作数栈、动态链表、出口信息。在Hopspot虚拟机中和java虚拟机栈合二为一。
本地方法
使用native进行修饰的方法,底层使用C/C++来进行实现
1 | public static native Thread currentThread(); |
在本地方法栈中登记native方法,在执行引擎执行时加载本地方法
hotspot虚拟机直接将本地方法栈和虚拟机栈合二为一
与虚拟机栈一样,本地方法栈也会抛出StackOverflowError异常和OutOfMemoryError异常