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

第3章 GraalVM整体结构

作为一个开放性多语言运行时平台,GraalVM由众多的子项目和组件构成。当首次将GraalVM项目从GitHub上下载到本地时,读者可能会被其繁杂的内容搞得一头雾水,不知应该从何开始。本章为读者梳理GraalVM的项目组成结构,帮助读者快速了解GraalVM的项目构成逻辑和各子项目的主要功能。

GraalVM项目根目录下的顶层目录结构按照子项目划分,即每个子项目都存放在一个子目录中。本章首先按目录名的字母顺序依次介绍保存在compiler、espresso、regex、sdk、substratevm、sulong、truffle、vm和wasm等目录中的各个子项目组件。

子项目按照Graal社区开发的mx编译工具定义的文件来组织结构,所以本章接下来会介绍mx工具的功能、使用mx工具需要遵循的开发规范等内容。当读者了解了GraalVM项目的整体结构和组织方式后,就可以开始尝试阅读源码了。

阅读和开发GraalVM这样的大型项目时,单靠网页或文本编译器是不够的,最好借助功能强大的集成开发环境(IDE)工具,如Eclipse、Intellij等。所以,本章最后介绍如何通过mx为GraalVM的源码生成各种IDE配置文件,从而将GraalVM的源码方便地导入IDE的工程中。