Lập trình Java: Đa tuyến là gì ? phần 4

Thu dọn “rác” (Garbage collection) cải tạo hoặc làm trống bộ nhớ đã định vị cho các đối tượng mà các đối tượng này không sử dụng trong thời gian dài. Trong ngôn ngữ lập trình hướng đối tượng khác như C++, lập trình viên phải làm cho bộ nhớ trống mà đã không được yêu cầu trong thời gian dài. | 13. Thu dọn rác Garbage collection Thu dọn rác Garbage collection cải tạo hoặc làm trống bộ nhớ đã định vị cho các đối tượng mà các đối tượng này không sử dụng trong thời gian dài. Trong ngôn ngữ lập trình hướng đối tượng khác như C lập trình viên phải làm cho bộ nhớ trống mà đã không được yêu cầu trong thời gian dài. Tình trạng không hoạt động để bộ nhớ trống có thể là kết quả trong một số vấn đề. Java tự động tiến trình thu dọn rác để cung cấp giải pháp duy nhất cho vấn đề này. Một đối tượng trở nên thích hợp cho sự dọn rác nếu không có tham chiếu đến nó hoặc nếu nó đã đăng ký rỗng. Sự dọn rác thực thi như là một luồng riêng biệt có quyền ưu tiên thấp. Bạn có thể viện dẫn một phương thức gc của thể nghiệm để viện dẫn sự dọn rác. Tuy nhiên bạn không thể dự đoán hoặc bảo đảm rằng sự dọn rác sẽ thực thi một cách trọn vẹn sau đó. Sử dụng câu lện sau để tắt đi sự dọn rác trong ứng dụng Java -noasyncgc . Nếu chúng ta tắt đi sự dọn rác chương trình hầu như chắc chắn rằng bị treo do bởi việc đó. 1. Phương thức finalize hoàn thành Java cung c ấp một con đường để làm sạch một tiến trình trước khi điều khiển trở lại hệ điều hành. Điều này tương tự như phương thức phân hủy của C Phương thức finalize nếu hiện diện sẽ được thực thi trên mỗi đối tượng trước khi sự dọn rác. Câu lệnh của phương thức finalize như sau protected void finalize throws Throwable Tham chiếu không phải là sự dọn rác chỉ các đối tượng mới được dọn rác Lấy thể nghiệm Object a new Object Object b a a null Ở đây nó sẽ sai khi nói rằng b là một đối tượng. Nó chỉ là một đối tượng tham chiếu. Hơn nữa trong đoạn mã trích trên mặc dù a được đặt là rỗng nó không thể được dọn rác bởi vì nó vẫn còn có một tham chiếu b đến nó. Vì thế a vẫn còn với đến được thật vậy nó vẫn còn có phạn vi sử dụng trong phạm vi chương trình. Ở đây nó sẽ không được dọn rác. Tuy nhiên trong ví dụ cho dưới đây giả định rằng không có tham chiếu đến a tồn tại đối tượng a trở nên thích hợp cho garbage collection. Object a new Object a null .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.