java循環創建對象應該在循環體內還是循環體外


第一種:
    for(int i = 0; i < 100; i++) {
        Object obj = new Object()
    }

第二種:
    Object obj = null
    for(int i = 0; i < 10000; i++) {
        obj = new Object()
    }

第一次:

  Object obj = new Object();//寫在100個循環內等於你有100個引用對應了100個對象

  所以100個對象在一段時間內都是會占用內存,直到內存不足GC主動回收.

第二次:
  obj = new Object();//寫在100個循環內等於你使用1個引用分別100次調用了100個對象

  所以當后一個對象init后,前一個對象已經是“無引用狀態”,會很快的被GC自動回收.

結論:

  第二種方法能更好的管理內存。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM