„ Zanieczyszczenie sterty ” jak w typach niepodlegających zwrotowi (Samouczki Java ™> Nauka języka Java> Ogólne (zaktualizowane))
Dlaczego tak się nazywa?
„ Zanieczyszczenie sterty ” jak w typach niepodlegających zwrotowi (Samouczki Java ™> Nauka języka Java> Ogólne (zaktualizowane))
Dlaczego tak się nazywa?
Odpowiedzi:
Zanieczyszczenie sterty oznacza po prostu, że masz „złe rzeczy” na swoim stosie. Jest to analogia do (na przykład) zanieczyszczenia wody, w którym znajdują się „złe rzeczy” w wodzie.
W szczególności złe rzeczy tutaj to obiekty typu, w A
których powinieneś mieć obiekty typu B
... zgodnie z typowaniem statycznym. Pewna dziura w typowaniu statycznym pozwala wyciekom złych rzeczy do sterty ... gdzie może spowodować uszkodzenie (np. Nieoczekiwane ClassCastExceptions
) w czasie wykonywania.
Nie jest to szczególnie dobra analogia, ale to terminologia, którą wymyślili ludzie Javy ... i oni (w efekcie) zdefiniowali ją na stronie, do której prowadziłeś link i prawdopodobnie w innych miejscach.
Ale nadal - za tą nazwą powinien znajdować się powód / urządzenie mnemoniczne.
Dlaczego powinien być? W języku angielskim jest wiele słów i zwrotów, w których nikt tak naprawdę nie zna pochodzenia ani uzasadnienia. Lub gdzie pochodzenie jest znane, ale jest nielogiczne. Na przykład domniemane pochodzenie terminu „ błąd ” odnoszącego się do usterki w programie komputerowym. Lub obecne znaczenie terminu „skok kwantowy” w kulturze popularnej. Lub słowo „gej”.
(Ale w przypadku „zanieczyszczenia hałdy” źródło >> jest << znane, a uzasadnienie wyboru terminu >> jest << oczywiste ... dla osób z tego samego języka i kultury, co autorzy.)
To zabawne, ale nawet Google nie wydaje się wiedzieć, dlaczego.
Nie całkiem. Oznacza to po prostu, że nikt wcześniej nie pomyślał o zapytaniu o definicję w miejscu indeksowanym przez Google. 1) Wykorzystanie jest ograniczone do programowania AFAIK w Javie, i 2) analogia jest oczywista ... dla większości osób, które użyłyby tego terminu.