Java 虚拟机类加载机制和字节码执行引擎(3)

基于栈的指令集更多的通过入栈出栈来实现计算功能,例如1+1

iconst_1 ;将1入栈 iconst_1 ;将1入栈 iadd ;将栈顶两个元素取出相加并将结果入栈

基于寄存器的指令集更多的是使用寄存器来进行操作,例如1+1

mov eax,1 ;向eax中存1 add eax,1 ;eax<-eax+1

总体来说,基于栈的指令集会慢一些,但是它与寄存器无关,更容易实现到处运行的目标。

总结

又到了该总结的时候了,类加载机制面试中很容易被问到,不幸的是,当时我并没有看这方面的知识。

class类文件结构的每一个部分都可以再深入下去,类文件结构是采用结构体的方式存储的,那么怎么知道集合的长度,各个属性又是怎么被标记的。

类加载机制中有且仅有的五种触发初始化的情况。类加载器的分类。

栈帧的结构,以及方法调用。

Java语言的方法调用分为静态多分派,动态单分派。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/64ce876c46ba63b786635be8ffb409c2.html