Przypisując wartość jednej zmiennej obiektowej do drugiej, lub przekazując ją przez wartość, przekazujemy jedynie referencję, co oznacza, że od tego momentu obie zmienne będą odnosić się do tego samego obiektu, a zmiany stanu wprowadzone za pośrednictwem jednej z nich będą natychmiast widoczne przez drugą.

Dodatkowo, dopuszcza się istnienie pustych referencji (null), które aktualnie nie wskazują na żaden obiekt.

Odśmiecanie pamięci

Referencje mają kluczowe znaczenie dla algorytmów odśmiecania pamięci. Umożliwiają śledzenie, które obiekty i wartości są wciąż używane przez program, a które mogą być bezpiecznie usunięte. Najprostszą techniką kontroli czasu życia danych na stercie jest zliczanie referencji. Aplikacja utrzymuje specjalny licznik dla każdego obiektu, który przechowuje informacje o liczbie referencji aktualnie na niego wskazujących. Jeśli spadnie on do zera, oznacza to, że nie jest już używany, a przydzielona mu pamięć powinna być zwolniona. Technika ta nie potrafi jednak wykrywać cykli (obiekty A i B posiadają referencje do siebie nawzajem, lecz reszta programu już nie).

Zobacz też

Wskaźnik Odśmiecanie pamięci Słaba referencja

Przypisy

Kategoria:Typy danych