首頁  >  文章  >  Java  >  java數組中怎麼將記憶體回收

java數組中怎麼將記憶體回收

WBOY
WBOY轉載
2023-05-02 18:46:07799瀏覽

1、記憶體分析

數組引用變數只是一個引用,這個引用變數可以指向任何有效的內存,只有當該引用指向有效記憶體後,才可通過該數組變數來存取數組元素。

與所有引用變數相同的是,引用變數是存取真實物件的根本方式。也就是說,如果希望在程式中存取數組物件本身,則只能透過這個數組的引用變數來存取它。

實際的陣列物件被儲存在堆疊(heap)記憶體中;如果引用該陣列物件的陣列引用變數是一個局部變數, 那麼它被儲存在堆疊(stack)記憶體中。

2、實例

如果堆記憶體中的陣列不再有任何引用變數指向自身,則此陣列將變成垃圾,由系統的垃圾回收機制回收所佔用的記憶體。所以,要使用垃圾收集機制來回收一個數組佔用的記憶體空間,您可以將這個數組變數分配為null,這樣就切斷了數組引用變數與實際數組之間的引用關係,從而使實際數字組成為垃圾。

在相互相容的前提下,允許一個陣列變數指向另一個實際的數組,而這個運算會造成數組長度可變的假象。以下:

public class ArrayInRam {
   
   
   
 
public static void main(String[] args) {
   
   
   
//静态初始化a
int []a= {
   
   
   5,7,20};
//动态初始化b
int []b=new int[4];
//输出b的长度
System.out.println(b.length);
//循环遍历输出a
for(int aa:a) {
   
   
   
System.out.print(aa+"\t");
}
//b引用a
b=a;
//输出b的长度
System.out.println("\n"+b.length);
 
}
 
}

以上是java數組中怎麼將記憶體回收的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除