避免在循环体中声明创建对象
生活随笔
收集整理的這篇文章主要介紹了
避免在循环体中声明创建对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這種情況在我們的實際應用中經常遇到,而且我們很容易犯類似的錯誤,例如下面的代碼:
Java代碼
for (int i = 0; i < 10000; ++i) {
Object obj = new Object();
System.out.println("obj= " + obj);
}
上面的做法會浪費較大的內存空間。正確的做法如下所示:
Java代碼
Object obj = null;
for (int i = 0; i < 10000; ++i) {
obj = new Object();
System.out.println("obj= "+ obj);
}
采用上面的第二種編寫方式,僅在內存中保存一份對該對象的引用,而不像上面的第一種編寫方式中代碼會在內存中產生大量的對象引用,浪費大量的內存空間,而且增大了垃圾回收的負荷。因此在循環體中聲明創建對象的編寫方式應該盡量避免。
但是,也有人認為這2中效果一樣的。
參照討論:https://www.zhihu.com/question/31751468
總結
以上是生活随笔為你收集整理的避免在循环体中声明创建对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jython调用不包含第三方库的pyth
- 下一篇: JVM中的逃逸分析