gpt4 book ai didi

java - 为什么嵌套的 Java 循环执行得非常快

转载 作者:行者123 更新时间:2023-11-30 08:14:50 25 4
gpt4 key购买 nike

出于好奇,我最近用 Java 编写了两个嵌套的 for 循环,它们都简单地计数到 10 亿 (1'000'000'000)。

令人惊讶的是,Java 在不到一秒的时间内完成了这项任务。在其他语言中,这永远不会那么快完成。

另一件奇怪的事情是,当我添加第三个 for 循环(也是嵌套的)时,程序似乎并没有结束。

谁能告诉我这个速度是从哪里来的?

编辑:

以下是我的代码:

for (int i = 0; i < 1000000000; i++) { 
for (int r = 0; r < 1000000000; r++) { }
}
System.out.println("done");

最佳答案

java 编译器优化循环并将其删除。但如果您使用 volatile int,情况就不是这样了:

static volatile int i;

public static void main(String[] args) {
for (i = 0; i < 1000000000; i++);
}

上面的循环会花费很多时间,因为现在 java 编译器不能优化循环。

关于java - 为什么嵌套的 Java 循环执行得非常快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29265842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com