for循環的一點優化

看博客時,看到一個好的知識點,在此記錄一下(平時寫代碼也沒注意)。

參考博客:https://www.cnblogs.com/cxxjohnson/p/6730500.html

循環內不要創建引用對象。

例如:

for(int i = 0 ; i < size ;i++){
    
    Object o = new Object();
    
}

這種做法會導致內存中有size份Object對象引用存在,size很大的話,就耗費內存了,建議爲改爲:

Object o = null;

for(int i = 0; i < size; i++){

    o = new Object();
}

對象的創建,Object o 會存入棧中,new Object()的時候,會存入堆中。棧中只有一份Object對象引用,每次new Object()的時候,會在堆中創建不同的Objcet, 這時堆中不同的new Object()可以指向棧中的Object o . 在for循環的時候,棧中只需創建一個Object o ,佔據一份大小。這樣就大大節省了內存空間了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章