概述
一个系统可能包含多个物理 CPU(*处理单元),也可以包含一个或多个内核(处理器)。另外,每个核心可以有多个线程,通常2(超-线程 技术从英特尔CPU)。
示例:具有 2 个双核 CPU 的系统。
2 个 CPU x 每个 CPU 2 个内核 =总共 4 个内核
您可以确定的数量内核采用静态方法,提供给Java虚拟机 availableProcessors 从类运行。此方法从 Java 1.4 开始可用。每个 Java 应用程序都有一个Runtime类的单个实例, 它允许应用程序与应用程序运行的环境进行交互。
Java获取核心数
public class CPUCores {
public static void main(String[] args) {
int processors = ().availableProcessors();
("CPU cores: " + processors);
}
}
输出
CPU cores: 8
结论
就我而言,结果是 8,因为我在具有 4 核和超线程技术的 Intel I7 930 CPU 上进行了测试。
1 个 CPU x 4 个内核 x 2 个线程 = 总共 8 个内核。
请注意,此数字是 Java 应用程序可用的内核总数。
参考
- Java 文档 API
- 超线程