자바 :“힙 오염”[폐쇄]


63

수정 불가능한 유형 의 " 힙 오염 " (Java ™ 학습서> Java 언어 학습> 일반 (업데이트 됨))

왜 그렇게 부르나요?


3
프로젝트에 경고가없는 좋은 이유입니다.

트윗 담아 가기 그러나 여전히-그 이름 뒤에 이유 / 니모닉 장치가 있어야합니다. 재밌지 만 구글조차도 이유를 모르는 것 같습니다.

답변:


72

힙 오염은 단순히 힙에 "나쁜 것들"이 있음을 의미합니다. 그것은 물에 "나쁜 것들"이있는 수질 오염과 유사합니다.

특히, 여기서 나쁜 점 은 정적 A유형 B에 따라 ... 유형의 객체를 가져야하는 유형의 객체입니다 . 정적 타이핑의 일부 구멍은 나쁜 물건이 힙으로 누출되는 것을 허용하여 ClassCastExceptions런타임에 손상을 일으킬 수 있습니다 (예 : 예기치 않은 )

그것은 특히 좋은 비유는 아니지만 Java 사람들이 만들어 낸 용어입니다 ... 효과적으로 당신이 링크 한 페이지와 다른 곳에서 그것을 정의했습니다.


그러나 여전히-그 이름 뒤에 이유 / 니모닉 장치가 있어야합니다.

왜 있어야합니까? 영어로 사용되는 단어와 문구가 많으므로 아무도 그 기원이나 추론을 실제로 알지 못합니다. 또는 원산지는 알려져 있지만 비논리적입니다. 예를 들어, " 버그 " 라는 용어 는 컴퓨터 프로그램의 결함을 의미합니다. 또는 대중 문화에서 "양자 도약"이라는 용어의 현재 의미. 또는 "게이"라는 단어.

(그러나 "힙 오염"의 경우, 출처는 "알고 있고"라는 용어의 선택에 대한 추론은 "언어와 문화적 배경이 같은 사람들에게 자명하다" 저자.)

재밌지 만 구글조차도 이유를 모르는 것 같습니다.

실제로는 아닙니다. 그것은 구글이 색인을 생성하는 장소에서 정의를 요구 한 적이 없다는 것을 의미합니다. 1) 사용법은 Java 프로그래밍 AFAIK로 제한되며 2) 그 용어를 사용하는 대부분의 사람들에게는 유추가 분명합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.