JVM 什么是虚拟机栈 本地方法栈
什么是虚拟机栈
JVM 在运行的时候,会为每一个线程分配一个虚拟机栈,虚拟机栈中存在很多栈帧,栈帧就是线程在执行方法的时候,调用一个方法,将这个方法压入到栈帧中,方法执行结束之后弹出栈;
在栈帧中存在有:方法的局部变量表,方法的入口以及出口;
多个栈帧不断的进行入栈,出栈的操作;
当调用的方法过多的时候,会出现 StackOverFlow 的异常;
本地方法栈
本地方法栈和虚拟机栈作用一样,不一样的是,本地方法栈里面进栈的是本地方法,也就是 native 方法,虚拟机栈是开发人员开发的方法;
HotSpot 将虚拟机栈以及本地方法栈合二为一,将方法压入到栈中进行使用;