Un " Heap Pollution " come nei tipi non riutilizzabili (Tutorial Java ™> Apprendimento del linguaggio Java> Generics (aggiornato))
Perché si chiama in quel modo?
Un " Heap Pollution " come nei tipi non riutilizzabili (Tutorial Java ™> Apprendimento del linguaggio Java> Generics (aggiornato))
Perché si chiama in quel modo?
Risposte:
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 A
cui 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.