Java: Victoria Heap ô nhiễm [đóng]


63

" Ô nhiễm vùng heap " như trong các loại không thể nhận dạng được (Hướng dẫn Java ™> Học ngôn ngữ Java> Generics (Đã cập nhật))

Tại sao nó được gọi là như vậy?


3
Một lý do tốt cho việc không có bất kỳ cảnh báo trong dự án của bạn.

@ ThorbjørnRavnAndersen Tốt. Nhưng vẫn còn - nên có một lý do / thiết bị ghi nhớ đằng sau tên đó. Thật buồn cười nhưng ngay cả google dường như không biết tại sao.

Câu trả lời:


72

Ô nhiễm heap chỉ đơn giản ngụ ý rằng bạn có "thứ xấu" trong đống của mình. Nó tương tự như (ví dụ) ô nhiễm nước, nơi bạn có "thứ xấu" trong nước.

Cụ thể, nội dung xấu ở đây là các đối tượng thuộc loại Amà bạn phải có các đối tượng thuộc loại B... theo kiểu gõ tĩnh. Một số lỗ hổng trong kiểu gõ tĩnh cho phép các nội dung xấu rò rỉ vào heap ... nơi có thể gây ra thiệt hại (ví dụ như bất ngờ ClassCastExceptions) khi chạy.

Nó không phải là một sự tương tự đặc biệt tốt, nhưng đó là thuật ngữ mà những người Java đặt ra ... và họ (thực tế) đã định nghĩa nó trong trang mà bạn liên kết và có lẽ là những nơi khác.


Nhưng vẫn còn - nên có một lý do / thiết bị ghi nhớ đằng sau tên đó.

Tại sao nên có? Có rất nhiều từ và cụm từ được sử dụng trong tiếng Anh mà không ai thực sự biết nguồn gốc hoặc lý do. Hoặc nơi nguồn gốc được biết đến, nhưng là phi logic. Ví dụ, nguồn gốc được cho là của thuật ngữ " lỗi " đề cập đến một lỗ hổng trong chương trình máy tính. Hoặc ý nghĩa hiện tại của thuật ngữ "bước nhảy lượng tử" trong văn hóa đại chúng. Hoặc từ "đồng tính".

(Nhưng, trong trường hợp "ô nhiễm đống", nguồn >> được << biết và lý do đằng sau sự lựa chọn của thuật ngữ >> là << hiển nhiên ... đối với những người có cùng nền tảng ngôn ngữ và văn hóa như các tác giả.)

Thật buồn cười nhưng ngay cả google dường như không biết tại sao.

Không hẳn vậy. Điều đó chỉ có nghĩa là trước đây không ai nghĩ sẽ yêu cầu một định nghĩa ở một nơi mà Google lập chỉ mục. 1) Việc sử dụng được giới hạn trong AFAIK lập trình Java và 2) sự tương tự là hiển nhiên ... đối với hầu hết những người sẽ sử dụng thuật ngữ này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.