2011-09-13 21 views
5

thể trùng lặp:
Unloading classes in java?Khi nào thì một lớp dỡ bỏ từ bộ nhớ heap

Khi nào một dỡ bỏ lớp từ bộ nhớ?

Để tải lớp học, chúng tôi có thể gọi Class.forName("NameOfClass"); hoặc khi chúng tôi tạo đối tượng của một lớp, sau đó lớp được tải vào bộ nhớ.

+0

Đã về để trả lời, nhưng liên kết đầu tiên trên google là câu hỏi này trên SO: [Dỡ bỏ các lớp trong java?] (http://stackoverflow.com/questions/148681/unloading-classes-in-java) –

+0

Tại sao bạn cần điều đó? Btw, phụ thuộc vào JVM và có thể không được thực hiện (xem vấn đề PermGen khét tiếng) – Thomas

Trả lời

1

Nói cách đơn giản:

Lớp bị bốc dỡ khi tất cả các tham chiếu đến lớp (và trường hợp của chúng) được loại bỏ và các classloader sử dụng là thu gom rác thải.

+0

Không, nó _might_ sau đó dễ hiểu đối với việc thu gom rác nhưng trong một số trường hợp, lớp đó thực sự không bao giờ được thu thập. – Thomas

+0

Không chính xác. Một lớp sẽ (có thể) được dỡ bỏ chỉ khi trình nạp lớp được thu gom rác. Bạn đang trả lời * đối tượng/thể hiện *. –

+0

Đồng ý, các tham chiếu đến lớp và trình tự lớp nên được loại bỏ. – Muse

2

Lớp

Lớp học sẽ được nạp bởi một classloader và sẽ (có thể) được dỡ xuống khi classloader đó là thu gom rác thải. Trong các ứng dụng bình thường, nơi chúng tôi không quan tâm đến trình nạp lớp: các lớp sẽ không bao giờ được tải xuống.

Thể hiện của lớp/đối tượng

Đối tượng sẽ được tạo ra trên heap và xóa khi thu gom rác phát hiện, rằng không có tham chiếu đến dụ rằng/phản đối nữa.

(Chỉ trong ngắn hạn, tốt hơn chi tiết: xem câu hỏi Unloading classes in Java?)

+1

Do các lớp Java được cung cấp bởi JDK (ví dụ: 'java.util.ArrayList' và 'java.math.BigIntege'r) được bốc dỡ ở tất cả? – Pacerier

0

Khi chính xác một lớp sẽ được bốc dỡ không được định nghĩa, cũng giống như chính xác khi nào một đối tượng có thể được thu gom rác thải không được định nghĩa. Có gì được định nghĩa là khi nó thể được bốc dỡ:

Một lớp học hoặc giao diện có thể được dỡ xuống khi và chỉ khi lớp Định nghĩa của nó bộ nạp có thể thu hồi các bộ thu rác

Các vấn đề liên quan