【发布时间】:2012-12-15 04:43:58
【问题描述】:
最近我写了这样的东西:
public void doSomething(boolean b1, boolean b2){
while(true){
if(b1){
doThis();
}
if(b2){
doThat();
}
}
}
但我真的不喜欢这个解决方案,因为在每次迭代中,您都必须检查 2 个布尔值。因此,作为可能的解决方案,我可以想象在每个循环之前用 ifs 编写 4 个 while 循环,但由于显而易见的原因,这很不利于可维护性。你有什么建议可以让这段代码变得更好更有效吗?
【问题讨论】:
-
检查这两个布尔值到底有什么问题?
-
照顾好鼹鼠丘,山会照顾好自己。
-
@Robin:你有没有分析并确定这是一个实际的瓶颈?
-
@Robin:直觉在这些事情上是一个非常糟糕的向导。确保代码正确,取出探查器,然后根据探查器告诉您的内容进行优化。
-
可以说这不是瓶颈,但它确实给系统带来了额外的压力,在小情况下这无关紧要,但如果这段代码每天执行 12 万亿次,那时间就会增加起来。
标签: java performance optimization