小編給大家分享一下java數(shù)組中對(duì)內(nèi)存進(jìn)行回收的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
10年積累的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有韓城免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1.SpringMVC,Spring Web MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架。2.Shiro,Apache Shiro是Java的一個(gè)安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持久層框架。4.Dubbo,Dubbo是一個(gè)分布式服務(wù)框架。5.Maven,Maven是個(gè)項(xiàng)目管理和構(gòu)建自動(dòng)化工具。6.RabbitMQ,RabbitMQ是用Erlang實(shí)現(xiàn)的一個(gè)高并發(fā)高可靠AMQP消息隊(duì)列服務(wù)器。7.Ehcache,EhCache 是一個(gè)純Java的進(jìn)程內(nèi)緩存框架。
在我們每次都用new來(lái)創(chuàng)建新對(duì)象時(shí),都會(huì)有一定的內(nèi)存進(jìn)行占據(jù)。我們知道空間的使用時(shí)有限的,這時(shí)候就要不斷的對(duì)原有的內(nèi)存進(jìn)行釋放。關(guān)于數(shù)組中的內(nèi)存問(wèn)題,很多人還是不夠了解的,本篇我們將就java數(shù)組中對(duì)內(nèi)存回收進(jìn)行討論,下面就看看具體回收是如何操作的吧。
1、內(nèi)存分析
數(shù)組引用變量只是一個(gè)引用,這個(gè)引用變量可以指向任何有效的內(nèi)存,只有當(dāng)該引用指向有效內(nèi)存后,才可通過(guò)該數(shù)組變量來(lái)訪問(wèn)數(shù)組元素。
與所有引用變量相同的是,引用變量是訪問(wèn)真實(shí)對(duì)象的根本方式。也就是說(shuō),如果希望在程序中訪問(wèn)數(shù)組對(duì)象本身,則只能通過(guò)這個(gè)數(shù)組的引用變量來(lái)訪問(wèn)它。
實(shí)際的數(shù)組對(duì)象被存儲(chǔ)在堆(heap)內(nèi)存中;如果引用該數(shù)組對(duì)象的數(shù)組引用變量是一個(gè)局部變量, 那么它被存儲(chǔ)在棧(stack)內(nèi)存中。
2、實(shí)例
如果堆內(nèi)存中的陣列不再有任何引用變量指向自身,則此陣列將變成垃圾,由系統(tǒng)的垃圾回收機(jī)制回收所占用的內(nèi)存。所以,要使用垃圾收集機(jī)制來(lái)回收一個(gè)數(shù)組占用的內(nèi)存空間,您可以將這個(gè)數(shù)組變量分配為null,這樣就切斷了數(shù)組引用變量與實(shí)際數(shù)組之間的引用關(guān)系,從而使實(shí)際數(shù)組成為垃圾。
在相互兼容的前提下,允許一個(gè)數(shù)組變量指向另一個(gè)實(shí)際的數(shù)組,這一操作會(huì)造成數(shù)組長(zhǎng)度可變的假象。以下:
public class ArrayInRam { public static void main(String[] args) { //靜態(tài)初始化a int []a= { 5,7,20}; //動(dòng)態(tài)初始化b int []b=new int[4]; //輸出b的長(zhǎng)度 System.out.println(b.length); //循環(huán)遍歷輸出a for(int aa:a) { System.out.print(aa+"\t"); } //b引用a b=a; //輸出b的長(zhǎng)度 System.out.println("\n"+b.length); } }
以上是“java數(shù)組中對(duì)內(nèi)存進(jìn)行回收的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!