您好,登錄后才能下訂單哦!
小編給大家分享一下java數組中對內存進行回收的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1.SpringMVC,Spring Web MVC是一種基于Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架。2.Shiro,Apache Shiro是Java的一個安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架。4.Dubbo,Dubbo是一個分布式服務框架。5.Maven,Maven是個項目管理和構建自動化工具。6.RabbitMQ,RabbitMQ是用Erlang實現的一個高并發高可靠AMQP消息隊列服務器。7.Ehcache,EhCache 是一個純Java的進程內緩存框架。
在我們每次都用new來創建新對象時,都會有一定的內存進行占據。我們知道空間的使用時有限的,這時候就要不斷的對原有的內存進行釋放。關于數組中的內存問題,很多人還是不夠了解的,本篇我們將就java數組中對內存回收進行討論,下面就看看具體回收是如何操作的吧。
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數組中對內存進行回收的示例”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。