Java中哪一个更快?
一个。 for(int i = 100000; i > 0; i--) {}
湾for(int i = 1; i < 100001; i++) {}
Java中哪一个更快?
一个。 Math.max(a,b);
湾(a>b)?a:b
答案 0 :(得分:15)
如果您想知道什么更快,time it.
如果你想知道为什么某些东西更快,那就完全不同了。
答案 1 :(得分:3)
运行它们并测试它们。每种环境的差异都很小,可能也不同。
答案 2 :(得分:3)
值得记住的是,JVM可以编译什么都不做的代码,使得JVM优化代码的方式和时间变得不同,而不是最好的代码。
你应该问自己的真正问题是;为什么代码更清楚易懂?这就是你应该使用的。
答案 3 :(得分:2)
答案 4 :(得分:1)
测试两个答案并计算时间。我怀疑会有什么显着差异。
答案 5 :(得分:0)
在这些情况下,它无所谓。与VM和GC开销相比,所有这些操作都将具有可忽略的运行时间,因此总共不会节省多个周期。即使两者之间存在差异,比如1000个周期,你仍然在谈论1 GHz处理器上1微秒的差异。这没关系