国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java中的四種引用(強引用、軟引用、弱引用、虛引用)

wwolf / 2128人閱讀

摘要:在之后,對引用的概念進行了擴充,將引用分為強引用軟引用弱引用虛引用種,這種引用強度依次逐漸減弱。軟引用是用來描述一些還有用但并非必需的對象。虛引用也稱為幽靈引用或者幻影引用,它是最弱的一種引用關系。

以下內容摘自《深入理解Java虛擬機 JVM高級特性與最佳實踐》第2版,強烈推薦沒有看過的同學閱讀,讀完的感覺就是“原來學的都是些什么瘠薄東西(╯‵□′)╯︵┴─┴”

在JDK1.2以前,Java中的引用的定義很傳統:如果 reference類型的數據中存儲的數值代表的是另外一塊內存的起始地址,就稱這塊內存代表著一個引用。這種定義很純粹,但是太過狹隘,一個對象在這種定義下只有被引用或者沒有被引用兩種狀態,對于如何描述一些“食之無味,棄之可惜”的對象就顯得無能為力。我們希望能描述這樣一類對象:當內存空間還足夠時,則能保留在內存之中;如果內存空間在進行垃圾收集后還是非常緊張,則可以拋棄這些對象。很多系統的緩存功能都符合這樣的應用場景。

在JDK1.2之后,Java對引用的概念進行了擴充,將引用分為強引用(Strong Reference)、軟引用(Soft Reference)、弱引用(Weak Reference)、虛引用(Phantom Reference)4種,這4種引用強度依次逐漸減弱。

強引用就是指在程序代碼之中普遍存在的,類似“Object obj= new Object()”這類的引用,只要強引用還存在,垃圾收集器永遠不會回收掉被引用的對象。

軟引用是用來描述一些還有用但并非必需的對象。對于軟引用關聯著的對象,在系統將要發生內存溢出異常之前,將會把這些對象列進回收范圍之中進行第二次回收。如果這次回收還沒有足夠的內存才會拋出內存溢出異常。在JDK1.2之后,提供了SoftReference類來實現軟引用。

弱引用也是用來描述非必需對象的,但是它的強度比軟引用更弱一些,被弱引用關聯的對象只能生存到下一次垃圾收集發生之前。當垃圾收集器工作時,無論當前內存是否足夠,都會回收掉只被弱引用關聯的對象。在JDK1.2之后,提供了WeakReference類來實現弱引用。

虛引用也稱為幽靈引用或者幻影引用,它是最弱的一種引用關系。一個對象是否有虛引用的存在,完全不會對其生存時間構成影響也無法通過虛引用來取得一個對象實例。為一個對象設置虛引用關聯的唯一目的就是能在這個對象被收集器回收時收到一個系統通知。在JDK1.2之后,提供了Phantom Reference類來實現虛引用。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72610.html

相關文章

  • Java中的四種引用類型:引用引用引用引用

    摘要:虛引用與軟引用和弱引用的一個區別在于虛引用必須和引用隊列聯合使用。 本文已同步至個人博客liaosis blog 在Java中是由JVM負責內存的分配和回收,這是它的優點(簡化編程者的工作,不需要像C語言那樣去手動操作內存),但同時也是它的缺點(不夠靈活,垃圾回收對于編程者來說是不可控的)。 在JDK1.2以前,如果一個對象不被任何變量引用,則程序無法再次使用這個對象,這個對象最終會...

    makeFoxPlay 評論0 收藏0
  • java中的四種引用

    摘要:如果想中斷強引用和某個對象之間的關聯,可以顯式地將引用賦值為,這樣一來的話,在合適的時間就會回收該對象。不過由于垃圾回收器是一個優先級較低的線程,所以并不一定能迅速發現弱引用對象。 強引用,軟引用,弱引用,虛引用。不同的引用類型主要體現在GC上: △強引用:如果一個對象具有強引用,它就不會被垃圾回收器回收。即使當前內存空間不足,JVM也不會回收它,而是拋出 OutOfMemoryErr...

    peixn 評論0 收藏0
  • Java四種引用簡介

    摘要:簡單來說就是引用和引用隊列關聯起來引用的構造函數傳入隊列,然后引用被回收的時候會被添加到隊列中,然后使用方法可以返回引用。 引語: ????我們知道java相比C,C++中沒有令人頭痛的指針,但是卻有和指針作用相似的引用對象(Reference),就是常說的引用,比如,Object obj = new Object();這個obj就是引用,它指向的是真正的對象Object的地址,不過今...

    springDevBird 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<