只是一个简单的问题,什么会更昂贵的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)
这完全放在一边,这是非常多的情况下,微优化,这将永远不会返回任何值得一提的.担心网络连接会阻碍工作几秒钟.