Tham chiếu yếu

Trong lập trình máy tính, tham chiếu yếu (tiếng Anh: weak reference) là một tham chiếu mà không bảo vệ đối tượng được tham chiếu khỏi sự thu gom bởi một bộ gom rác, không giống như tham chiếu mạnh (strong reference). Một đối tượng chỉ được tham chiếu bởi tham chiếu yếu – có nghĩa là "mọi chuỗi các tham chiếu đến đối tượng đó bao gồm ít nhất một tham chiếu yếu như là một liên kết" – được xem là có thể tiếp cận được một cách yếu, và có thể được coi là không tiếp cận được và do vậy có thể bị thu thập bất cứ lúc nào. Một số ngôn ngữ dọn rác có tính năng hoặc hỗ trợ nhiều mức tham chiếu yếu, như C#, Java, Lisp, OCaml, Perl, và Python.[1]

Cách dùng

[sửa | sửa mã nguồn]

Tham chiếu yếu có nhiều trường hợp sử dụng phổ biến.

Dọn rác

[sửa | sửa mã nguồn]

Thu gom rác là cơ chế để làm sạch các đối tượng không còn được sử dụng nữa và do vậy giảm thiểu khả năng rò rỉ bộ nhớ (memory leak) và thoái hóa dữ liệu (data corruption). Có hai kiểu dọn rác chính: theo dấu (tracing) và đếm tham chiếu (reference counting). Sơ đồ đếm tham chiếu ghi lại số lượng tham chiếu đến một đối tượng nhất định và thu dọn đối tượng đó khi đếm tham chiếu trở về giá trị 0.

Các biến thể

[sửa | sửa mã nguồn]

Vài ngôn ngữ có nhiều mức độ sức mạnh của tham chiếu yếu. Ví dụ, Java có, theo thứ tự giảm sức mạnh, tham chiếu mềm, yếu, và ma, được định nghĩa trong gói java.lang.ref.[2]

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ 8.8. weakref — Weak references, The Python Standard Library
  2. ^ Nicholas, Ethan (ngày 4 tháng 5 năm 2006). “Understanding Weak References”. java.net. Bản gốc lưu trữ ngày 19 tháng 8 năm 2010. Truy cập ngày 1 tháng 10 năm 2010.

Liên kết ngoài

[sửa | sửa mã nguồn]

Bản mẫu:Quản lý bộ nhớ

Chúng tôi bán
Bài viết liên quan
Hướng dẫn rút nước hồ và mở khóa thành tựu ẩn: Đỉnh Amakumo hùng vĩ
Hướng dẫn rút nước hồ và mở khóa thành tựu ẩn: Đỉnh Amakumo hùng vĩ
Một quest khá khó trên đảo Seirai - Genshin Impact
Nhân vật Megumin - Kono Subarashii Sekai ni Shukufuku wo
Nhân vật Megumin - Kono Subarashii Sekai ni Shukufuku wo
Megumin (め ぐ み ん) là một Arch Wizard của Crimson Magic Clan trong Thế giới Ảo, và là người đầu tiên tham gia nhóm của Kazuma
Câu truyện đằng sau đôi tất ướt và điệu nhảy của Ayaka
Câu truyện đằng sau đôi tất ướt và điệu nhảy của Ayaka
Story Quest của Ayaka có một khởi đầu rất chậm, đa số là những cuộc hội thoại giữa Ayaka và các NPC trong thành Inazuma
Hẹn hò qua dating app - làm gì sau buổi first date
Hẹn hò qua dating app - làm gì sau buổi first date
Việc chúng ta cần làm ngay lập tức sau first date chính là xem xét lại phản ứng, tâm lý của đối phương để từ đó có sự chuẩn bị phù hợp, hoặc là từ bỏ