欢迎大家!
我今天在运行一个简单的计算复杂性测试,使用LinkedList:
public static void main(String[] args) {
List<Byte> list = new LinkedList<>();
for (int j = 0; j < 50_000_000; j++) {
list.add((byte) j);
}
for (int j = 1; j < 10; j++) {
long t1 = System.currentTimeMillis();
list.get(5_000_000 * j - 1);
long t2 = System.currentTimeMillis();
System.out.println("Percent of the problem: " + j * 10 + ", time: "
+ (t2 - t1));
}
}
虽然我注意到在使用对象列表的人口中,所有CPU的核心都被100%使用,但我有4 + 4超级。有可能Java实际上使用多个线程以某种方式填充列表吗?