Jedna kwestia zastanawia się w mojej głowie od kilku ostatnich dni. Chcę wiedzieć, jak działa Garbage collecter z klasami statycznymi, zmiennymi?Kosz na śmieci i klasa statyczna, zmienna
Jak wszyscy wiemy, narzędzie do zbierania śmieci śledzi obiekty utworzone w aplikacji i usuwa je automatycznie, gdy nie są już używane. Dla klasy statycznej obiekt nie jest tworzony i jest ładowany do pamięci przy użyciu debugowania aplikacji.
Więc Garbage collector obsługuje klasy statyczne?
W porządku, chodzi o to, że Garbage collector nigdy zwalnia statyczne pola lub zmienne, co oznacza, że są zawsze ładowane do pamięci. Czy w takim razie ma prawo powiedzieć, że statyczne powinny być tworzone tylko dla globalnej stałej lub zmiennych? –
Istnieje wyjątek: w .Net 4 możesz mieć kolekcjonowalne złożenia. A jeśli zbiór jest zbiorem śmieci, statyczne pola typów w tym zespole przestają być pierwiastkami GC, więc obiekty, do których się odwołują, mogą być gromadzone. – svick
@svick, co jest bardzo interesujące, dziękuję. Warto również zauważyć, że pola w klasach statycznych są wprowadzane, gdy klasa jest dostępna po raz pierwszy, a nie po uruchomieniu programu. – Stilgar