Sur*_*nga 12 java garbage-collection
我有这样的场景:
public void processData(String name,String value) {
/* line 1 */ MyDTO dto = new MyDTO();
/* line 2 */ dto.setName(name);
/* line 3 */ dto.setValue(value);
/* line 4 */ sendThroughJMSChannel(dto);
/* line 5 */ dto = null; //As a best practice, should I do this ?
}
Run Code Online (Sandbox Code Playgroud)
在第4行之后的程序中,我不需要dto进一步处理.作为最佳实践,我应该设置dto到null在第5行,或者忽略它?
通过设置它null,我期待快速垃圾收集.这是对的吗?
das*_*ght 26
不,不要设置局部变量来null加速GC的收集:编译器足够聪明,可以在没有你帮助的情况下解决它; 该null任务只会让你的代码看起来很脏.
非本地人是一个不同的故事:如果你有一个成员变量可能会保持超过必要的时间,最好将其设置为null并防止lingerer内存泄漏.
| 归档时间: |
|
| 查看次数: |
10934 次 |
| 最近记录: |