网站联盟三要素,外贸建站平台哪家好,电商多用户商城源码,做网站页面报价1. 序言
最近的工作中#xff0c;需要升级JDK版本到17.0.7#xff0c;以解决一个JDK bug#xff1a;JDK-8299626该bug的core dump关键字如下#xff1a;SIGSEGV in PhaseIdealLoop::build_loop_late_post_work公司JDK团队提供的、包含JDK的基础镜像#xff0c;有aarch64和…1. 序言
最近的工作中需要升级JDK版本到17.0.7以解决一个JDK bugJDK-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 架构适用于 Solaris 操作系统arm: ARM 架构aarch64: ARM 64 位架构 接着如果是在社区下载open JDK则可以根据系统架构选择对应的JDK例如mac OS执行返回的架构信息如下则在下载jdk-17.0.99时选择OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.9_9.tar.gz或OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.9_9.pkg 3. 若JDK已安装如何验证安装的版本是否与操作系统架构匹配
方法1查看JDK release文件 找到JDK的安装目录也就是环境变量JAVA_HOME的值 # linux系统
export | grep JAVA_HOME进入JDK安装目录查看release文件 # linux系统
cat release看OS_ARCH是否与操作系统架构匹配 —— 注意 OS_ARCH 是指 Java 运行时环境JRE的操作系统架构而不是指操作系统本身的架构
方法2使用命令 java -XshowSettings:properties -version
使用命令 java -XshowSettings:properties -version其打印的os.arch更加具体比如x86_64可以显示是amd64还是Intel 64 疑问 release中显示x86_64而这里显示amd64。难道一个是JDK的系统架构一个是操作系统本身的架构欢迎大佬指点、交流笔者目前认为二者都是JDK的系统架构只是java -XshowSettings:properties -version将x86_64架构具体到了amd64以表明当前JDK可以适应adm64的操作系统架构
方法3使用公司自创命令cat current_revision 不具有普遍性
同样地找到JDK的安装目录然后执行cat current_revision 仔细查看该命令的输出后笔者认为这应该是公司自创的命令可能对大多数JDK并不通用