1. 序言
- 最近的工作中,需要升级JDK版本到
17.0.7+
,以解决一个JDK bug:JDK-8299626 - 该bug的core dump关键字如下:
SIGSEGV in PhaseIdealLoop::build_loop_late_post_work
- 公司JDK团队提供的、包含JDK的基础镜像,有
aarch64
和x86_64
之分 - 因此,问题来了:根据宿主机的操作系统架构,应该选择哪个基础镜像?
2. 通过操作系统架构,选择合适的JDK版本
- 首先,根据不同的操作系统,使用不同方式确定系统架构
- 例如,对Linux或mac OS,使用
uname -m
查看系统架构。不同返回值的含义如下:- x86: 32 位 x86 架构(例如,Intel Pentium、AMD Athlon 等)
- x86_64: 64 位 x86 架构,也称为 AMD64 或 Intel 64 (例如,Intel Core 2 Duo、AMD Opteron 等)
- ia64: 64 位 Itanium 架构
- sparc: SPARC 架构(适用于 Solari