学习 Java 之 字节码验证

it2023-10-28  76

一个class文件被加载到JVM内存后,首先要经过字节码验证,验证通过,再确定哪些代码是解释执行的,哪些代码是即时编译执行的(即时编译:Just In Time 简写JIT);

1.字节码验证:

检查class文件的把呢不能和jvm版本是否兼容

检查代码是否会破坏系统完整性

检查代码是否有栈溢出的情况

检查当前代码参数类型是否正确

...

...

2.解释执行:

jvm将class字节码文件解释成计算机可以执行的代码

如果所有代码都是这样执行的话,效率会比较慢

 

3.JIT即时编译:

即时编译是jvm执行java代码的一种方式,jvm可以使用JIT把java中的热点代码直接编译成计算机可以运行的代码

以后要调用这个热点代码时候,就可以直接用编译好的代码让计算机直接运行,可以执行运行效率

 

 

 

 

                                                                                                                        欢迎评论~

最新回复(0)