Ryx*_*uma 3 java memory performance
相比
public class Core {
public int addToA(int a) {
int b = a + 2;
return b;
}
}
Run Code Online (Sandbox Code Playgroud)
至
public class Core {
int b;
public int addToA(int a) {
b = a + 2;
return b;
}
}
Run Code Online (Sandbox Code Playgroud)
假设该addToA方法被调用很多,你是否通过使用第二个来保存垃圾收集器的工作(并加快你的程序)?
局部变量在堆栈上分配.
在这种情况下
public int addToA(int a) {
int b = a + 2;
return b;
}
Run Code Online (Sandbox Code Playgroud)
当方法返回,并且b弹出包含的堆栈帧时,它所采用的内存将自动恢复.垃圾收集器不参与.
在这种情况下
public class Core {
int b;
public int addToA(int a) {
b = a + 2;
return b;
}
}
Run Code Online (Sandbox Code Playgroud)
b将在为该Core对象保留的堆空间中分配.它只会在收集时被垃圾Core收集.
假设addToA方法被大量调用,你是否通过使用第二个来保存垃圾收集器工作(并加速你的程序)?
据我所知,你不会得到任何东西.
请阅读TJ Crowder的社区维基文章,了解何时何时不做您提出的建议.
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |