【发布时间】:2021-11-28 11:37:30
【问题描述】:
我有一个奇怪的 java 问题。我正在开发 MacBook Air 并做一些 Java 开发工作。我需要我的代码来执行以下操作:
// pseudo code
if (intel) {
// Load docker
} else if (arm) {
// Load ARM docker
}
它适用于基于 Intel 和 Linux 的 ARM 架构。但是对于我的 M1 MacBook Air,它报告操作系统为Mac OS X,但架构报告为x86。由于最后一个问题,我无法区分 ARM 和 Intel 机器。
这是我正在运行的 JDK 版本。我觉得我在这里遗漏了一些东西,但是有什么方法可以编写此代码,以便我可以确定代码是在 M1 还是 Intel 上运行?
~ java --version
openjdk 11.0.12 2021-07-20 LTS
OpenJDK Runtime Environment Zulu11.50+19-CA (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM Zulu11.50+19-CA (build 11.0.12+7-LTS, mixed mode)
(base) ➜ ~ java -XshowSettings 2>&1 | grep " os."
os.arch = x86_64
os.name = Mac OS X
os.version = 11.5
【问题讨论】: