Java:「ヒープ汚染」[終了]


63

非再定義可能型のような「ヒープ汚染」(Java™チュートリアル> Java言語の学習>ジェネリック(更新))

なぜそう呼ばれるのですか?


3
プロジェクトに警告が表示されない正当な理由。

@TorbjørnRavnAndersen良いもの。しかし、まだ-その名前の背後にある理由/ニーモニックデバイスがあるはずです。それは面白いですが、グーグルでさえその理由を知らないようです。

回答:


72

ヒープ汚染は、単にヒープに「悪いもの」があることを意味します。これは、(たとえば)水に「悪いもの」がある場所の水質汚染に類似しています。

具体的には、ここでの悪いものは、静的型付けによると、A型のオブジェクトを持つべき型のオブジェクトですB。静的型付けのいくつかの穴は、悪いものがヒープに漏れることを許可しています... ClassCastExceptions実行時に損傷を引き起こす可能性があります(たとえば、予期しない)。

これは特に良い類推ではありませんが、Javaの人々が造語した用語です...そして彼らはあなたがリンクしたページやおそらく他の場所で(実際に)定義しています。


しかし、まだ-その名前の背後にある理由/ニーモニックデバイスがあるはずです。

なぜあるべきですか?英語で使われている単語やフレーズはたくさんあり、誰もその起源や推論を本当に知らない。または起源が知られているが、非論理的である場合。たとえば、コンピュータプログラムの欠陥を指す「バグ」という用語の想定される起源。または、ポピュラーカルチャーにおける「クォンタムリープ」という用語の現在の意味。または「ゲイ」という言葉。

(ただし、「ヒープ汚染」の場合、ソース>> is <<が知られており、用語>> is <<の選択の背後にある理由は自明です...と同じ言語的および文化的背景を持つ人々にとって作家たち。)

面白いですが、グーグルでさえその理由を知らないようです。

あんまり。これは、Googleがインデックスを作成する場所で定義を求めることを誰も以前に考えていなかったことを意味します。1)使用はJavaプログラミングAFAIKに制限されており、2)類推は明らかです...この用語を使用するほとんどの人にとって。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.