GraalVM与Java静态编译:原理与应用
上QQ阅读APP看书,第一时间看更新

第2章 Java静态编译的业界实现

世界上并没有尽善尽美的技术方案,所有技术都是在代价和收益之间寻找平衡点。尽管具有动态特性支持方面的局限性,但是Java静态编译技术为Java应用程序带来的极速启动、运行时低内存消耗等优势,对开发人员具有强烈的吸引力,因此也有国内外厂商投入大量资源研究可行的技术方案。目前相对成熟的Java静态编译技术方案主要有Oracle GraalVM的Substrate VM和华为方舟编译器两种。

GraalVM的Substrate VM静态编译框架主要面向服务器端应用和桌面应用,遵循JVM Specification JavaSE 8和11两个版本的规范;而方舟编译器则面向移动端应用,遵循Google的ART(Android RunTime)规范。ART中的JDK可以视作JDK的一个特别分支,总体上依然使用了Java的语法和特性,但在很多具体的实现上则结合了移动端的特点做了改造。

本章主要对GraalVM做了概要介绍,并说明了其实现的静态编译技术方案的优缺点;然后简要介绍华为方舟编译器,并对比了两种技术方案的基本异同点。阅读完本章后,读者会对这两种Java静态编译的实现技术有整体上的认识。