jvm
爱因斯彬
临渊羡鱼,不如退而结网。
展开
-
JVM整体构成
类加载内存结构执行引擎原创 2020-10-24 20:26:38 · 132 阅读 · 0 评论 -
JVM运行时栈帧结构-局部变量表
下面将对运行时栈帧内部各个部分的作用和数据结构进行讲解,以及代码进行验证。局部变量表(Local Variable Table)局部变量表是一组变量值存储空间,用于存储方法参数和方法内的局部变量。在Java程序编译为Class字节码文件时,就在方法的Code属性(字节码文件)的max_locals数据项中定义了该方法所需要分配的局部变量表的最大容量。食堂打饭窗口就好比一个局部变量表,每到早中晚,调用不同的函数,生成不同的饭菜,但是每天摆出来的饭菜就那么多,因为食堂窗口就那么大。(这里篡改字节码文件原创 2020-05-30 15:56:44 · 582 阅读 · 0 评论 -
JVM运行时栈帧内部结构
栈栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。简而言之,类似于弹夹,填弹为入栈,开枪为出栈,先进后出,后进先出。运行时栈帧结构栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,他是虚拟机运行原创 2020-05-30 15:47:52 · 487 阅读 · 0 评论