总结
在这里,由于面试中MySQL问的比较多,因此也就在此以MySQL为例为大家总结分享。但是你要学习的往往不止这一点,还有一些主流框架的使用,Spring源码的学习,Mybatis源码的学习等等都是需要掌握的,我也把这些知识点都整理起来了
-
一个局部变量部分
-
一个操作数栈部分
局部变量部分包含可根据索引
以随机顺序访问的变量。由名字可以看出,操作数栈部分是一个栈,其中包含了供字节代码指令
用作操作数的值。这意味着这个栈中的值只能按照“后入先出”顺序访问。不要将操作数栈和线
程的执行栈相混淆:执行栈中的每一帧都包含自己的操作数栈。
局部变量部分与操作数栈部分的大小取决于方法的代码。这一大小是在编译时计算的,并随
字节代码指令一起存储在已编译类中。因此,对于对应于某一给定方法调用的所有帧,其局部变
量与操作数栈部分的大小相同,但对应于不同方法的帧,这一大小可能不同。
一些基本示例,具体体会一下字节代码指令是如何工作的。考虑下面的 bean 类:
package pkg;
public class Bean {
private int f;
public int getF() {
return this.f;
}
public void setF(int f) {
this.f = f;
}
}
getter 方法的字节代码为:
ALOAD 0
GETFIELD pk如果 mv 是一个 Met
hodVisitor,则 3.1.3 节定义的 getF 方法的字节代码可以用以下方
法调用生成:
mv.visitCode();
mv.visitVarInsn(ALOAD, 0);
mv.visitFieldInsn(GETFIELD, “pkg/Bean”, “f”, “I”);
最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)
学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)
除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!
acb)收录**