背景
学习《深入理解Java虚拟机》第三版11.5节。
目标
想要按照书上的流程走一遍,本地验证代码运行结果。
环境准备
书上没有介绍具体的Graal、Python版本,感觉是比较早的版本,由于缺失版本信息,导致我最开始操作的时候遇到了一些坑。
我尝试过Python 2.7.18/3.9.5 + OpenJDK 11/12 + Graal 20.3,失败了,经过搜索资料,找到了一个可以成功的版本列表[1]。
Python 2.7.18
Graal release/graal-vm/19.3
mx 5.247.4
OpenJDK 1.8.0_242-jvmci-19.3-b07
另外说明一下,使用OpenJDK 1.8也跟书上说的JDK接近,起码都是1.8,而且是支持jvmci的JDK 1.8。
版本确定了,接下来就是按照版本把各个东西下载下来。
Python 2.7.18可以在官网下载。
Graal可以在github上签出代码,执行如下命令,
git clone https://github.com/oracle/graal.git
git checkout release/graal-vm/19.3
mx可以在github上签出代码,执行如下命令,
git clone https://github.com/graalvm/mx.git
git checkout 5.247.4
OpenJDK 1.8.0_242-jvmci-19.3-b07可以在github上下载。
本文档详细记录了按照《深入理解Java虚拟机》第三版中的流程,使用Graal compiler进行模块编译的过程。从环境准备到解决版本不匹配问题,再到配置修改与环境变量设置,最终成功编译并执行书中的示例。编译结果包含关键组件,但过程中遇到的 Ideal Graph 差异可能与JDK版本有关。对于书中未实现的部分,作者提供了参考资料链接以便进一步研究。
最低0.47元/天 解锁文章
2557

被折叠的 条评论
为什么被折叠?



