溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java數(shù)組中對內存進行回收的示例

發(fā)布時間:2021-04-28 10:21:42 來源:億速云 閱讀:199 作者:小新 欄目:編程語言

小編給大家分享一下java數(shù)組中對內存進行回收的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

常用的java框架有哪些

1.SpringMVC,Spring Web MVC是一種基于Java的實現(xiàn)了Web MVC設計模式的請求驅動類型的輕量級Web框架。2.Shiro,Apache Shiro是Java的一個安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。4.Dubbo,Dubbo是一個分布式服務框架。5.Maven,Maven是個項目管理和構建自動化工具。6.RabbitMQ,RabbitMQ是用Erlang實現(xiàn)的一個高并發(fā)高可靠AMQP消息隊列服務器。7.Ehcache,EhCache 是一個純Java的進程內緩存框架。

在我們每次都用new來創(chuàng)建新對象時,都會有一定的內存進行占據(jù)。我們知道空間的使用時有限的,這時候就要不斷的對原有的內存進行釋放。關于數(shù)組中的內存問題,很多人還是不夠了解的,本篇我們將就java數(shù)組中對內存回收進行討論,下面就看看具體回收是如何操作的吧。

1、內存分析

數(shù)組引用變量只是一個引用,這個引用變量可以指向任何有效的內存,只有當該引用指向有效內存后,才可通過該數(shù)組變量來訪問數(shù)組元素。

與所有引用變量相同的是,引用變量是訪問真實對象的根本方式。也就是說,如果希望在程序中訪問數(shù)組對象本身,則只能通過這個數(shù)組的引用變量來訪問它。

實際的數(shù)組對象被存儲在堆(heap)內存中;如果引用該數(shù)組對象的數(shù)組引用變量是一個局部變量, 那么它被存儲在棧(stack)內存中。

2、實例

如果堆內存中的陣列不再有任何引用變量指向自身,則此陣列將變成垃圾,由系統(tǒng)的垃圾回收機制回收所占用的內存。所以,要使用垃圾收集機制來回收一個數(shù)組占用的內存空間,您可以將這個數(shù)組變量分配為null,這樣就切斷了數(shù)組引用變量與實際數(shù)組之間的引用關系,從而使實際數(shù)組成為垃圾。

在相互兼容的前提下,允許一個數(shù)組變量指向另一個實際的數(shù)組,這一操作會造成數(shù)組長度可變的假象。以下:

public class ArrayInRam {
   
   
   
 
public static void main(String[] args) {
   
   
   
//靜態(tài)初始化a
int []a= {
   
   
   5,7,20};
//動態(tài)初始化b
int []b=new int[4];
//輸出b的長度
System.out.println(b.length);
//循環(huán)遍歷輸出a
for(int aa:a) {
   
   
   
System.out.print(aa+"\t");
}
//b引用a
b=a;
//輸出b的長度
System.out.println("\n"+b.length);
 
}
 
}

以上是“java數(shù)組中對內存進行回收的示例”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI