布尔比较与整数比较的处理成本比率是多少?
答
它们实际上是相同的成本,但真正的答案是它依赖于虚拟机等。如果JVM打包布尔值(因为这个问题的答案可能暗示布尔数组:What is the size of a boolean variable in Java?),那么访问布尔值可能会需要一些额外的算术来屏蔽掉重要的位/字节。但是,它通常是相同的成本。
答
假设这些变量,而不能是常量,大概没有什么不同。
答
答案是JVM和应用程序特定的,但我希望你会看到没有可衡量的差异。 (我说它是特定于应用程序的,因为周围的上下文可能会影响JIT编译器能够生成最佳本机代码的方式)。当然浪费你的时间。 JIT编译器可以做得比你做得更好,而且你甚至可能会发现重写代码使用int
而不是boolean
禁止优化。
最有生产力的策略是编写代码,使其可读,并专注于算法和数据结构的设计。如果您的实施代码太慢,只有微观优化,并且当您决定执行此操作时,请使用分析功能来告诉您将工作重点放在哪里。