你不可不知的Java引用型別之——PhantomReference原始碼詳解
定義
PhantomReference是虛引用,該引用不會影響不會影響物件的生命週期,也無法從虛引用中獲取物件例項。
說明
原始碼介紹部分其實也沒多大內容,主要內容都在前面介紹中說完了。PhantomReference類的原始碼和WeakReference類一樣簡單:
public class PhantomReference<T> extends Reference<T> { public T get() { return null; } /** * 這裡傳入的引用佇列也可以為null,但是這樣的引用沒有任何意義,因為永遠不會入隊 */ public PhantomReference(T referent, ReferenceQueue<? super T> q) { super(referent, q); } }
可以看到,get方法直接返回null,有一個兩個引數的構造方法,傳入被引用的物件和引用佇列。
那麼,這篇也先告一段落吧。
相關推薦
你不可不知的Java引用型別之——PhantomReference原始碼詳解
定義 PhantomReference是虛引用,該引用不會影響不會影響物件的生命週期,也無法從虛引用中獲取物件例項。 說明 原始碼介紹部分其實也沒多大內容,主要內容都在前面介紹中說完了。PhantomReference類的原始碼和WeakReference類一樣簡單: public class Pha
你不可不知的Java引用型別之ReferenceQueue原始碼詳解
定義 引用佇列是用於儲存要回收的引用物件的引用佇列。 說明 對於軟引用、弱引用和虛擬引用,如果希望在垃圾收集器回收物件以進行其他處理時得到通知,則需要使用引用佇列。 當垃圾收集器掃描要回收的物件時,將對應的引用包裝器類(引用物件)放入其註冊的引用佇列佇列中。可以從佇列中獲得相應的物件
你不可不知的Java引用型別之——SoftReference原始碼詳解
定義 SoftReference是軟引用,其引用的物件在記憶體不足的時候會被回收。只有軟引用指向的物件稱為軟可達(softly-reachable)物件。 說明 垃圾回收器會在記憶體不足,經過一次垃圾回收後,記憶體仍舊不足的時候回收掉軟可達物件。在虛擬機器丟擲OOM
你不可不知的Java引用型別之——WeakReference原始碼詳解
定義 WeakReference是弱引用,該引用不會影響垃圾回收器對物件的回收,不會影響物件的生命週期。 說明 當虛擬機器在某個時間點決定要回收一個弱可達(weakly-reachable)物件時,會自動清除該物件的所有弱引用。並且會將物件變為finalizable狀態,然後把這些剛清除的弱引用放到其註
你不可不知的Java引用型別之——Reference原始碼解析
定義 Reference是所有引用型別的父類,定義了引用的公共行為和操作。 reference指代引用物件本身,referent指代reference引用的物件,下文介紹會以reference,referent形式出現。 說明 Reference類與垃圾回收是密切配合的,所以該類不能被直接子類化。簡單來
你不可不知的Java引用型別之——虛引用
定義 虛引用是使用PhantomReference建立的引用,虛引用也稱為幽靈引用或者幻影引用,是所有引用型別中最弱的一個。一個物件是否有虛引用的存在,完全不會對其生命週期構成影響,也無法通過虛引用獲得一個物件例項。 說明 虛引用,正如其名,對一個物件而言,這個引用形同虛設,有和沒有一樣。 如果一個物件
Java重要類之LinkList類詳解
一.LinkList概述 LinkedList是一個繼承於AbstractSequentialList的雙向連結串列。它也可以被當作堆疊、佇列或雙端佇列進行操作。 LinkedList 實現 List 介面,能進行佇列操作。 LinkedList 實現Deq
java 定時任務之——cron表示式詳解
在介紹cron表示式詳解之前如果需要了解@Scheduled註解配置的可以點這裡 Cron表示式是一個字串,字串以5或6個空格隔開,分為6或7個域,每一個域代表一個含義,Cron有如下兩種語法格式: (1) Seconds Minutes Hours Dayo
JAVA 快取陣列之----ByteArrayInputStream類詳解
Java ByteArrayInputStream類 位元組陣列輸入流在記憶體中建立一個位元組陣列緩衝區,從輸入流讀取的資料儲存在該位元組陣列緩衝區中。建立位元組陣列輸入流物件有以下幾種方式。 接收位元組陣列作為引數建立: ByteArrayInputStream
Java網路程式設計之流的詳解
前言 大部分網路程式做的事情就是接受輸入併產生輸出。讀伺服器傳送過來的資料與讀取本地檔案的資料並沒有多大的區別,同時伺服器將資料傳送給客戶端與寫資料到本地檔案也很像。 Java的IO操作基於streams實現的。輸入流讀資料,輸出流寫資料。 該系列文
OkHttp原始碼詳解之Okio原始碼詳解
請在電腦上閱讀,效果更佳 本文將從兩個技術點講解OkHttp 1. 講解Okio,因為Okhttp的IO操作都是基於Okio,拋開Okio的OkHttp講解是不完美的 2. 講解OkHttp原始碼 Okio 1. Okio簡介 引用官方的一段介紹 Okio是一個補
條件隨機場之CRF++原始碼詳解-開篇
介紹 最近在用條件隨機場做切分標註相關的工作,系統學習了下條件隨機場模型。能夠理解推導過程,但還是比較抽象。因此想研究下模型實現的具體過程,比如:1) 狀態特徵和轉移特徵具體是什麼以及如何構造 2)前向後向演算法具體怎麼實現 等等。那麼,想要深入瞭解一個演算法比較好的方式就是閱讀現有的開源專案。閱讀好的
Android程式設計之DialogFragment原始碼詳解(一)
DialogFragment是Fragment家族成員之一,如果你把它簡單的理解成Dialog,那就錯了。它的確可以做作dialog顯示,還可以顯示出自己定義的Dialog或者AlertDialog,但它同時也是一個Fragment。 按照官方的話來理解就是,你既可以把它當
Android程式設計學習筆記 之 ListActivity原始碼詳解
前言 最近在研究PreferenceActivity發現是繼承自ListActivity的,開啟看了下ListActivity的原始碼,發現也不長,就詳細閱讀認識一下。 正文 ListActi
資料結構與算法系列2 線性表 使用java實現動態陣列+ArrayList原始碼詳解
## 資料結構與算法系列2 線性表 使用java實現動態陣列+ArrayList原始碼詳解 對陣列有不瞭解的可以先看看我的另一篇文章,那篇文章對陣列有很多詳細的解析,而本篇文章則著重講動態陣列,另一篇文章連結如下,可點選跳轉: 連結:[https://blog.csdn.net/pjh88/article/d
創業之初你不可不知的融資知識
2017-01-13 只從前言來看,我就很喜歡這個作者的風格。拿到手後我大概翻閱了一下,寫的東西非常詳盡細緻。這本書我在我的分級中應該是A類的,純粹的乾貨,有綱領,有細節,全面。我
強烈推薦|你不可不知的性能優化內幕
idl 奇怪 負數 反向 art 頁面加載 加載 全部 src 一. 基本概念 軟件系統質量特性 安全性:同時兼顧向合法用戶提供服務,以及阻止非授權使用軟件及資源的能力。 健壯、可靠:軟件系統在一定的時間內無故障運行的能力、容錯能力、恢復能力 可擴展、可維護、可移植:
全面解構支付系統設計——你不可不知的會計核心
一、複式記賬 第一個問題:如何理解賬務系統單邊記賬,會計系統複式記賬? 有些公司內部賬戶之間轉賬都採用複式記賬法,如充值、提現交易,他們在賬務系統都記單邊流水,等和銀行對賬後,在會計系統複式記賬。 1. 以充值為例 使用者充值:秋秋支付寶充值100 元,那麼在賬務系統裡面單邊記賬,主要就是如下的流
Java引用型別原理剖析
Java中一共有4種引用型別(其實還有一些其他的引用型別比如FinalReference):強引用、軟引用、弱引用、虛引用。其中強引用就是我們經常使用的Object a = new Object(); 這樣的形式,在Java中並沒有對應的Reference類。 本篇文章主要是分析軟引用、弱引用、虛引用的實現
Java引用型別轉換
java的引用型別轉換分為兩種: 向上型別轉換,是小型別到大型別的轉換 向下型別轉換,是大型別到小型別的轉換 現存在一個Animal動物類,貓子類和狗子類繼承於Animal父類; 1 public class Animal { 2 private Stri