Czy można założyć, że obiekt Java zajmuje tylko 8 bajtów dla odwołania do obiektu, o ile wszystkie jego elementy są ustawione na null
lub czy definicja członków już zużywa miejsce w instancji z jakiegoś powodu?Ile pamięci wykorzystuje obiekt Java, gdy wszystkie jego elementy mają wartość NULL?
Innymi słowy, jeśli mam dużą kolekcję obiektów, które chcę, aby przestrzeń była wydajna, czy mogę liczyć na pozostawienie nieużywanych elementów ustawionych na null
w celu zmniejszenia śladu pamięci?
Tak, dobre pytanie. :) Więc pole jest równoważne wskaźnikowi C (który również wymaga pamięci dla siebie)? –
Tak, zmienne typów odniesienia (klasy) są odniesieniami do obiektów na stercie, równoważnymi wskaźnikom C. Pamięci zostanie podjęta dla wskaźnika i dla obiektu wskazuje. Typy pierwotne, takie jak int, są przechowywane bezpośrednio i zawsze mają ten sam rozmiar. – Joe