Java 中的引用型別
根據資料垃圾回收的方式,一共有四種不同型別的引用。
- 強引用
- 弱引用
- 軟引用
- 幻影引用
強引用
它是引用物件的預設型別。擁有活動強引用的物件無法進行垃圾回收。只有在強引用的變數指向 null 時才有可能。我們看一個示例 -
示例
class Demo {
//Some functionality
}
public class Demo_example{
public static void main(String[] args){
Demo my_inst = new Demo();
my_inst = null;
}
}弱引用
它們不是預設的引用物件類,因此需要明確指定。它通常與 WeakHashmap 一起使用,以便引用條目物件。此類弱引用由 Java 虛擬機器標記為垃圾回收。使用“java.lang.ref.WeakReference”類建立此類引用。
我們看一個示例 -
示例
import java.lang.ref.WeakReference;
class Demo{
public void display_msg(){
System.out.println("Hello");
}
}
public class Demo_sample{
public static void main(String[] args){
Demo inst = new Demo();
inst.display_msg();
WeakReference<Demo> my_weak_ref = new WeakReference<Demo>(inst);
inst = null;
inst = my_weak_ref.get();
inst.display_msg();
}輸出
Hello Hello
一個名為 Demo 的類有一個名為“display_msg”的函式。此函式顯示相關訊息。在另一個名為“Demo_sample”的類中,定義了 main 函式,並建立了 Demo 類的例項。“display_msg”函式針對該例項呼叫。對 Demo 類建立了一個弱引用,並且 Demo 例項被指定為 null,然後再次呼叫該函式。相關輸出顯示在控制檯上。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP