java - 什么时候不分解公共(public)代码

标签 java

<分区>

我应该用代码的紧凑性来换取一点性能吗? 具体来说,以下两者中的哪一个更可取:

// case 0:
final boolean flag = <some condition>;
for (int i = 0; i < SOME_COUNT; ++i)
{
    if (flag)
    {
        // do foo
    }
    else
    {
        // do bar
    }

}

// case 1:
final boolean flag = <some condition>;
if(flag)
{
    for (int i = 0; i < SOME_COUNT; ++i)
    {
        // do foo
    }
}
else
{
    for (int i = 0; i < SOME_COUNT; ++i)
    {
        // do bar
    }
}

最佳答案

更喜欢前者。众所周知,JIT 能够使第一个和第二个一样快。

性能方面的经验法则:有疑问时进行测量。当您决定进行测量时,请先阅读:How do I write a correct micro-benchmark in Java?

关于java - 什么时候不分解公共(public)代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24001674/

相关文章:

java - 我如何应用 "Factory Pattern"在 Java 中实例化 Firefox、IE 和 Chrome 浏览器实例

java - 忽略依赖 jar 中的 Jackson 2.0 注释

java - 带有 vaadin spring 应用程序的 tomcat 上出现 NoSuchMethodError

java - 创建纹理图集错误(opengl ES 2.0,android)

java - 识别字符数组中的特殊字符

java - 使用 Groovy 作为脚本语言

java - 找不到模块 : javafx. 网页

java - jbutton.doClick() 单击按钮但不执行功能

java - 当我使用 "FileUtils.copyURLToFile(urlConnection.getURL(), exportFile);"时出现IO异常

java - CORBA ORB 运行时定义本地 IP 接口(interface)使用