为什么学字节码文件的原因:

image-20230103141407495

image-20230103141317313

image-20230103141306367

image-20230103141338248

java前端编译器

image-20230103142540075

一个程序的性能是否高效,其实跟语言是没太大的关系的,主要是编译器,比如java在早期的时候,没有编译器只有解释器,然后就很慢,后来又了JIT编译器后,就快很多了。

前端编译器 vs 后端编译器

image-20230103144208971

透过字节码指令看代码执行细节:

image-20230103144413285

image-20230103144716615

image-20230103150037755

例子2:

image-20230103150626861

例子3:

image-20230105164434790

1
2
* 成员变量(非静态的)赋值过程:1.默认初始化 - 2.显示初始化 / 代码块中初始化 - 3. 构造器中初始化 -
* 4.有了对象之后,可以“对象.属性” 或 “对象.方法” 的方式对成员变量进行赋值

image-20230105162837668

image-20230105163558835

image-20230105164757916

解读Class文件的三种方式

image-20230106210715710

image-20230106211249422

image-20230106211233536