2012-03-04 92 views

回答

1

它們實際上是相同的成本,但真正的答案是它依賴於虛擬機等。如果JVM打包布爾值(因爲這個問題的答案可能暗示布爾數組:What is the size of a boolean variable in Java?),那麼訪問布爾值可能會需要一些額外的算術來屏蔽掉重要的位/字節。但是,它通常是相同的成本。

1

假設這些變量,而不能是常量,大概沒有什麼不同。

4

答案是JVM和應用程序特定的,但我希望你會看到沒有可衡量的差異。 (我說它是特定於應用程序的,因爲周圍的上下文可能會影響JIT編譯器能夠生成最佳本機代碼的方式)。當然浪費你的時間。 JIT編譯器可以做得比你做得更好,而且你甚至可能會發現重寫代碼使用int而不是boolean禁止優化。

最有生產力的策略是編寫代碼,使其可讀,並專注於算法和數據結構的設計。如果您的實施代碼太慢,只有微觀優化,並且當您決定執行此操作時,請使用分析功能來告訴您將工作重點放在哪裏。