什么更贵?作业或声明?

Ski*_*zit 0 java performance

只是一个简单的问题,什么会更昂贵的Java?

   double test = 5;
   double test1 = 5;
Run Code Online (Sandbox Code Playgroud)

要么

   double test = 5;
   double test1 = test;
Run Code Online (Sandbox Code Playgroud)

Mat*_*ley 19

都不是.Java有一个非常好的优化器,它将导致在此示例中生成完全相同的代码.

编译器会查看赋值,double test1 = test;并且可以确定此时test的常量等于5并完全优化赋值.

这也是为什么你不应该害怕扩展数值,即.

int timeout = 60 * 60 * 2   // 2 hours in seconds
Run Code Online (Sandbox Code Playgroud)

这完全放在一边,这是非常多的情况下,微优化,这将永远不会返回任何值得一提的.担心网络连接会阻碍工作几秒钟.

  • 这甚至不是微优化.我们需要为这样的垃圾注入一个新术语.纳米优化也许? (12认同)