JIT和AOT编译技术

时间:2025-02-08 17:04:41

JIT:

JIT是Just in time的缩写,也就是即时编译、运行时编译。使用即时编译,能够加速Java程序的执行速度。
.class文件中保存的并不是机器码而只是二进制代码,需要先进行解释,JIT在运行时会把翻译过的机器码保存起来,以备下次使用。 新版本的jvm默认都是采用混合执行模式,半编译(JIT,部门热区代码,经常调用循环的代码)半解释执行。
从理论上来说,采用该JIT技术可以接近以前纯编译技术。

AOT:

AOT是Ahead-of-Time的缩写,是指运行前编译,可以在安装时对二进制码进行编译,提高在运行时的执行速度
优势:可以提高速度(特别是启动时间)、减少内存足迹(不是JIT)和改进内存回收。

Dalvik相比ART的优劣势:

ART在Android Kikat版本被引入,默认没有启用。可以通过设置->开发者选项->选择运行时->使用ART
缺点:安装时间长,占存储空间大