栈


1.栈概述






2.栈的存储3.局部变量表




关于Slot


变量的分类



4.操作数栈(Operand Stack) 栈只有两个操作,入栈push和出栈pop
操作数栈和局部变量表都是数组实现的。
栈:可以由数组或者链表来实现
操作数栈:先进后出,后进先出。按照顺序存放有索引。。(数组的特点?)





cmd中输入javap就是字节码的解析,有时候就会泛泛的称为反编译了

槽slot中int32位 4*8 占一个Slot
double和long64位占两个Slot
构造器的方法<inti>和自己定义的非静态的方法多一个slot this指针的存放位置
相较于的是main的静态方法没有this

b出了大括号就自己销毁了。所以b和c占一个index



java代码

底层结构

栈顶缓存技术


动态链接



方法的调用









方法的返回地址






栈的一些面试题

本文探讨了栈在Java中的应用,包括栈的存储机制、局部变量表的结构,特别关注了操作数栈的push和pop操作。讲解了Slot的概念,如int和double在槽中的占用情况,以及在方法调用中的作用,如构造器和非静态方法的this指针。还涉及了字节码解析中的槽概念和栈顶缓存技术。适合面试准备和技术深入理解。

被折叠的 条评论
为什么被折叠?



