Java - Myśleć jak programista: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
→‎Ćwiczenia: Drobne redakcyjne
Znaczniki: Z urządzenia mobilnego Z wersji mobilnej (przeglądarkowej)
Linia 696:
Omawiając aliasy rozmawialiśmy o tym, co dzieje się, gdy więcej niż jedna zmienna odnosi się do tego samego obiektu. Co się stanie, gdy nie ma zmiennej odnoszącej się do obiektu? Na przykład: <br/>
 
:::<tt>Punkt pusty = new Punkt (3, 4); </tt><br/>
:::<tt>pusty = null;</tt><br/>
Pierwsza linia tworzy nowy obiekt Punkt i sprawia, puste na niego powoływać.Druga linia zmienia obiekt <tt>pusty</tt>, tak że zamiast odnoszenia się do obiektu, odnosi się do niczego (obiekt null). <br/>
Jeśli nic nie odnosi się do obiektu, niemożliwe jest odczytanie lub zapisanie jego wartości(w tym wypadku <tt>x</tt>,<tt>y</tt>). Nie można też wywołać na nim metody. W efekcie, obiekt przestaje istnieć. Możemy utrzymać obiekt w pamięci, ale jest to tylko strata przestrzeni pamięci, więc okresowo podczas działania programu, system szuka "osieroconych" obiektów i odzyskuje je w procesie zwanym 'garbage collection' - '''odśmiecanie pamięci'''. Przestrzeń pamięci zajmowana przez obiekt będzie dostępna do użycia dla nowo tworzonych obiektów. <br/><br/>