Một số (ít nhất là bộ thu gom rác của Mono và .NET) có vùng nhớ ngắn hạn mà chúng thường quét và vùng nhớ thứ cấp mà chúng quét ít thường xuyên hơn. Mono gọi đây là một vườn ươm.
Để tìm ra những đối tượng nào có thể được xử lý, họ quét tất cả các đối tượng bắt đầu từ gốc, ngăn xếp và các thanh ghi và loại bỏ tất cả các đối tượng không còn được tham chiếu nữa.
Câu hỏi của tôi là làm thế nào họ ngăn chặn tất cả bộ nhớ sử dụng được quét trên mỗi bộ sưu tập? Về nguyên tắc, cách duy nhất để tìm ra những đối tượng không sử dụng nữa là quét tất cả các đối tượng và tất cả các tham chiếu của chúng. Tuy nhiên, điều này sẽ ngăn hệ điều hành hoán đổi bộ nhớ mặc dù ứng dụng không sử dụng và cảm thấy như một khối lượng công việc khổng lồ cần phải thực hiện, cũng cho "Bộ sưu tập vườn ươm". Nó không cảm thấy như họ chiến thắng nhiều bằng cách sử dụng một vườn ươm.
Tôi có thiếu một cái gì đó hay là trình thu gom rác thực sự quét mọi đối tượng và mọi tham chiếu mỗi khi nó thực hiện một bộ sưu tập?