第一種: 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自動回收.
結論:
第二種方法能更好的管理內存。