首頁 > Java > java教程 > 主體

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

WBOY
發布: 2023-05-02 18:46:07
轉載
841 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板