Computer >> Máy Tính >  >> Lập trình >> Java

Các loại tham chiếu trong Java

Có bốn loại tham chiếu khác nhau dựa trên cách thức thu thập dữ liệu.

  • Tham khảo mạnh mẽ
  • Tham chiếu yếu
  • Tham chiếu mềm
  • Tham chiếu bóng ma

Tham khảo mạnh mẽ

Nó là loại đối tượng tham chiếu mặc định. Không thể thu thập một đối tượng có tham chiếu mạnh đang hoạt động. Chỉ có thể nếu biến được tham chiếu mạnh trỏ tới null. Hãy để chúng tôi xem một ví dụ -

Ví dụ

class Demo {
   //Some functionality
}
public class Demo_example{
   public static void main(String[] args){
      Demo my_inst = new Demo();
      my_inst = null;
   }
}

Tham chiếu yếu

Chúng không phải là lớp mặc định của đối tượng tham chiếu, do đó cần phải được chỉ định rõ ràng. Nó thường được sử dụng với WeakHashmap, để tham chiếu đến các đối tượng mục nhập. Các tham chiếu yếu như vậy được Máy ảo Java đánh dấu thu thập rác. Các tham chiếu như vậy được tạo bằng lớp ‘java.lang.ref.WeakReference ’.

Hãy để chúng tôi xem một ví dụ -

Ví dụ

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();
}

Đầu ra

Hello
Hello

Một lớp có tên là Demo có một hàm tên là ‘display_msg’. Hàm này hiển thị một thông báo có liên quan. Trong một lớp khác có tên là ‘Demo_sample’, hàm chính được định nghĩa và một thể hiện của lớp Demo được tạo. Hàm ‘display_msg’ được gọi trên phiên bản. Yếu tố tham chiếu đến phân loại Demo được tạo và nội dung Demo được gán cho null, và hàm được gọi lại trên nó. Đầu ra có liên quan được hiển thị trên bảng điều khiển.