JVM 什么是虚拟机栈 本地方法栈

什么是虚拟机栈

JVM 在运行的时候,会为每一个线程分配一个虚拟机栈,虚拟机栈中存在很多栈帧,栈帧就是线程在执行方法的时候,调用一个方法,将这个方法压入到栈帧中,方法执行结束之后弹出栈;

在栈帧中存在有:方法的局部变量表,方法的入口以及出口;

多个栈帧不断的进行入栈,出栈的操作;

当调用的方法过多的时候,会出现 StackOverFlow 的异常;

本地方法栈

本地方法栈和虚拟机栈作用一样,不一样的是,本地方法栈里面进栈的是本地方法,也就是 native 方法,虚拟机栈是开发人员开发的方法;

HotSpot 将虚拟机栈以及本地方法栈合二为一,将方法压入到栈中进行使用;

posted @ 2022-05-10 17:59  YIMENG-0  阅读(149)  评论(0编辑  收藏  举报