Java: "Heap Inquinamento" [chiuso]


63

Un " Heap Pollution " come nei tipi non riutilizzabili (Tutorial Java ™> Apprendimento del linguaggio Java> Generics (aggiornato))

Perché si chiama in quel modo?


3
Un buon motivo per non avere avvisi nel tuo progetto.

@ ThorbjørnRavnAndersen Buona. Ma comunque - dovrebbe esserci un motivo / dispositivo mnemonico dietro quel nome. È divertente ma anche Google non sembra sapere il perché.

Risposte:


72

L'inquinamento del mucchio implica semplicemente che hai "cose ​​cattive" nel tuo mucchio. È un'analogia con (per esempio) l'inquinamento delle acque che è dove ci sono "cose ​​cattive" nell'acqua.

In particolare, le cose cattive qui sono oggetti di tipo in Acui dovresti avere oggetti di tipo B... secondo la tipizzazione statica. Qualche buco nella tipizzazione statica sta permettendo alle cose cattive di fuoriuscire nell'heap ... dove è suscettibile di causare danni (ad esempio imprevisti ClassCastExceptions) in fase di esecuzione.

Non è un'analogia particolarmente buona, ma è la terminologia che la gente di Java ha coniato ... e l'hanno (in effetti) definita nella pagina a cui ti sei collegato, e probabilmente in altri luoghi.


Ma comunque - dovrebbe esserci un motivo / dispositivo mnemonico dietro quel nome.

Perché dovrebbe esserci? Ci sono molte parole e frasi in uso in inglese dove nessuno conosce veramente l'origine o il ragionamento. O dove l'origine è nota, ma è illogica. Ad esempio, l'origine presunta del termine " bug " si riferisce a un difetto in un programma per computer. O l'attuale significato del termine "salto di qualità" nella cultura popolare. O la parola "gay".

(Ma, nel caso dell '"inquinamento del mucchio", la fonte >> è << conosciuta, e il ragionamento dietro la scelta del termine >> è << evidente ... alle persone con lo stesso background linguistico e culturale di gli autori.)

È divertente ma anche Google non sembra sapere il perché.

Non proprio. Significa solo che nessuno aveva precedentemente pensato di chiedere una definizione in un luogo indicizzato da Google. 1) L'uso è limitato alla programmazione Java AFAIK e 2) l'analogia è ovvia ... per la maggior parte delle persone che userebbero il termine.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.