Thu gom rác đếm tham chiếu
Đây là thuật toán thu gom rác đơn giản nhất, thuật toán này tìm ra những đối tượng không còn tham chiếu nào còn lại.>
Ví dụ
var obj = { x: { y: 2 } }; // 2 objects created. One is referenced by the other as one of its properties. // Obviously, none can be garbage-collected obj = 1; // what was the 'x' property of the object originally in obj // has zero references to it. It can be garbage collected.
Hạn chế
Khi nói đến chu kỳ có những hạn chế trong thu thập rác đếm tham chiếu và nó được giải thích trong ví dụ dưới đây.
Ví dụ
Trong ví dụ sau, hai đối tượng được tạo và tham chiếu lẫn nhau ở đó bằng cách tạo một chu trình. Sau một lệnh gọi hàm, chúng sẽ vượt ra khỏi phạm vi, vì vậy chúng sẽ vô dụng và có thể được giải phóng. P>
function f() { var obj1 = {}; var obj2 = {}; obj1.p = obj2; // o1 references o2 obj2.p = obj1; // o2 references o1. This creates a cycle. } f();