Mô tả ngắn gọn cơ chế thu gom rác của Python?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
62 lượt xem
Python master

Có thể rất nhiều điều để nói ở đây. Có một số điểm chính mà bạn nên đề cập:

  • Python duy trì số lượng tham chiếu đến từng đối tượng trong bộ nhớ. Nếu số tham chiếu về 0 thì đối tượng được liên kết không còn tồn tại nữa và bộ nhớ được cấp cho đối tượng đó có thể được giải phóng cho thứ khác
  • đôi khi những thứ được gọi là "chu kỳ tham chiếu" xảy ra. Bộ thu gom rác định kỳ tìm kiếm những thứ này và dọn dẹp chúng. Một ví dụ là nếu bạn có hai đối tượng o1o2 sao cho o1.x == o2o2.x == o1. Nếu o1o2 không được tham chiếu bởi bất kỳ thứ gì khác thì chúng sẽ không hoạt động. Nhưng mỗi object đó có số tham chiếu là 1.
  • Một số phương pháp heuristics được sử dụng để tăng tốc độ thu gom rác. Ví dụ, các đối tượng được tạo gần đây có nhiều khả năng bị chết. Khi các đối tượng được tạo, bộ thu gom rác sẽ gán chúng tới các generation. Mỗi đối tượng có một generation, và các generation có trước sẽ được xử lý trước.
{{login.error}}