哪种编程实践更快?

Jam*_*ame 2 java optimization

我用Java创建了一个小应用程序,因为我不是java专家所以我的程序效率不高(效率我的意思是更少的执行时间,即我想要更快的结果).如果有经验的人会回答我的以下问题,我将感激不尽:

哪一个更快:

问题1

boolean b1;
b1=true;
Run Code Online (Sandbox Code Playgroud)

要么

boolean b1= true;
Run Code Online (Sandbox Code Playgroud)

问题2

boolean b1;
boolean b2;
Run Code Online (Sandbox Code Playgroud)

要么

boolean b1, b2;
Run Code Online (Sandbox Code Playgroud)

问题3

for (int index goes to some iterations)
{
MyCustomClass obj = new MyCustomClass ();
//Some other code goes here
}
Run Code Online (Sandbox Code Playgroud)

要么

MyCustomClass obj = new MyCustomClass ();
for (int index goes to some iterations)
{
obj.Reset();// Assume .Reset() have same codes as zero argument constructor has
//Some other code goes here
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

Yan*_*min 10

  1. 都不是.这甚至不是微优化.
  2. 没有...
  3. 取决于Reset()创建新对象所产生的垃圾量.


Pau*_*aul 6

1)他们是一样的.它们至少会编译成相同的字节代码.

2)同样的事情.

3)第二个更好,因为它在循环中没有构造函数,它将占用更少的内存并减少垃圾收集器的工作量.


Osc*_*mez 5

问题1和问题2产生相同的字节代码

对于问题3,取决于您的对象,但通常不会在循环中创建新对象,除非必要.