在If条件下检查obj == null更多性能有效然后obj!= null

Joy*_*Joy 0 java performance null

根据我的一个高级编码风格2的性能比编码风格1更好,是真的吗?

编码风格1

If (obj!=null)
{
   Logic A
}

else
{
   Logic B
}
Run Code Online (Sandbox Code Playgroud)

编码风格2

If (obj==null)
{
   Logic B
}

else
{
   Logic A
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*rey 5

在这样的示例中,您应该担心的是开发人员的性能.什么是最干净,最简单的代码,这通常是JIT优化器做得很好的模式,如果不是最好的工作.

在这个例子中,即使你可以测量我怀疑的差异

  • 你的考试被打破了.
  • 不同的机器或JVM上的差异会有所不同.
  • 在未来的Java版本中,这种差异将消失.

BTW:查看字节代码是一种非常差的性能测量,但我可以说字节代码生成,我怀疑生成的本机代码长度相同.