Garbage Collection Garbage collector là một thành phần quản lí bộ nhớ của .NET, nó là một đáp án cho việc thu hồi bộ nhớ của các chương trình thực thi. Từ trước đến giờ có hai công nghệ được sử dụng cho việc huỷ bộ nhớ trong Windows, những tiến trình này được yêu cầu từ hệ thống. | Tìm hiêu ve Intermediate Language - Phần 2 Garbage Collection Garbage collector là một thành phần quản lí bộ nhớ của .NET nó là một đáp án cho việc thu hồi bộ nhớ của các chương trình thực thi. Từ trước đến giờ có hai công nghệ được sử dụng cho việc huỷ bộ nhớ trong Windows những tiến trình này được yêu cầu từ hệ thống Ứng dụng tự làm điều này một cách thủ công. Tạo một bộ đếm tham chiếu đến đối tượng. Việc mã ứng dụng chịu trách nhiệm thu hồi vùng nhớ là một cộng nghệ dùng ở mức thấp hoặc những ngôn ngữ thực thi cấp cao như C . Nó mang tính hiệu quả cao nó có thuận lợi là tài nguyên sẽ được giải phóng ngay khi không còn cần thiết. Một bất lợi lớn là nó thường xuyên sinh lỗi. Mã nguồn luôn phải chỉ rõ cho hệ thống biết khi nó không cần dùng bộ nhớ đó nữa . Dễ dàng nhìn ra rằng kết quả có thể dẫn đến rò rỉ bộ nhớ. Mặc dù các môi trường phát triển hiện đại có cung cấp một số công cụ giúp đỡ trong việc phát hiện sự rò rỉ bộ nhớ nhưng rất khó theo vết bởi vì nó không có hiệu lực cho đến khi có một khối lượng lớn bộ nhớ bị rò rỉ Windows buộc phải ngưng các tiến trình xử lí. Tại thời điểm này máy tính chậm đi thấy rõ một sự trả giá cho các yêu cầu bộ nhớ. Việc duy trì một bộ đếm các tham chiếu là một ân huệ trong COM. Ý tưởng này cho rằng mỗi thành phần COM chứa một bộ đếm xem có bao nhiêu ứng dụng đang chứa tham chiếu đến nó. Khi bộ đếm này xuống đến zero Thành phần có thể tự hủy nó và giải phóng vùng nhớ cũng như các tài nguyên tương ứng. Vấn đề ở đây là nó vẫn lệ thuộc vào sự thông báo của các ứng dụng khi chúng không còn dùng đến các thành phần này nữa. Trong một vài trường hợp nó có khả năng tạo ra một vấn đề nghiêm trọng hơn là sự kiểu rò rỉ C thông thường bởi vì đối tượng COM có thể nằm trong một tiến trình của riêng nó điều này có nghĩa là nó sẽ không bao giờ được hủy bởi hệ thống chí ít trong rò rỉ kiểu C hệ thống có thể giành lại toàn bộ vùng nhớ khi tiến trình kết thúc . Thời gian chạy .NET hoàn toàn phụ thuộc vào garbage collector instead. Đây là một chương .