Pytania otagowane jako garbage-collection

10
Kiedy warto wymusić zbieranie śmieci?
Czytałem więc pytanie o zmuszeniu modułu śmieciowego C # do uruchomienia tam, gdzie prawie każda odpowiedź jest taka sama: możesz to zrobić, ale nie powinieneś - z wyjątkiem bardzo rzadkich przypadków . Niestety nikt nie wyjaśnia, jakie są takie przypadki. Czy możesz mi powiedzieć w jakim scenariuszu wymuszenie zbierania śmieci …

6
Pamięć stosu i sterty w Javie
Jak rozumiem, w Javie pamięć stosu zawiera prymitywy i wywołania metod, a pamięć sterty służy do przechowywania obiektów. Załóżmy, że mam klasę class A { int a ; String b; //getters and setters } Gdzie będzie przechowywany prymityw aw klasie A? Dlaczego pamięć sterty w ogóle istnieje? Dlaczego nie możemy …

6
Jak działa wyrzucanie elementów bezużytecznych w językach, które są kompilowane natywnie?
Po przejrzeniu kilku odpowiedzi na temat przepełnienia stosu jest jasne, że niektóre natywnie skompilowane języki mają funkcję usuwania śmieci . Ale nie jest dla mnie jasne, jak dokładnie by to działało. Rozumiem, jak wyrzucanie elementów bezużytecznych może działać z interpretowanym językiem. Śmieciarka po prostu działałaby obok interpretera i usuwała nieużywane …

11
Dlaczego obiekty Java nie są usuwane natychmiast po ich odwołaniu?
W Javie, gdy tylko obiekt nie ma już żadnych odniesień, kwalifikuje się do usunięcia, ale JVM decyduje, kiedy obiekt zostanie faktycznie usunięty. Aby użyć terminologii Objective-C, wszystkie odwołania do Java są z natury „silne”. Jednak w Celu C, jeśli obiekt nie ma już żadnych silnych odniesień, obiekt jest natychmiast usuwany. …


16
Dlaczego języki takie jak C i C ++ nie mają funkcji czyszczenia pamięci, podczas gdy Java? [Zamknięte]
Wiem, że istnieją takie rzeczy jak malloc / free dla C i nowy / using-a-destructor do zarządzania pamięcią w C ++, ale zastanawiałem się, dlaczego nie ma „nowych aktualizacji” tych języków, które pozwalają użytkownikowi masz opcję ręcznego zarządzania pamięcią lub system może to zrobić automatycznie (odśmiecanie)? Trochę nowiutkiego pytania, ale …

6
Kiedy używać słabych referencji w .Net?
Osobiście nie spotkałem się z sytuacją, w której musiałem używać typu WeakReference w .Net, ale wydaje się, że popularne jest to, że powinno się go używać w pamięci podręcznej. Dr Jon Harrop w swojej odpowiedzi na to pytanie bardzo dobrze uzasadnił użycie WeakReferences w pamięci podręcznej . Często słyszałem też, …

5
Dlaczego inteligentne wskaźniki liczące referencje są tak popularne?
Jak widzę, inteligentne wskaźniki są szeroko stosowane w wielu rzeczywistych projektach C ++. Chociaż niektóre inteligentne wskaźniki są oczywiście korzystne dla obsługi RAII i przeniesienia własności, istnieje również tendencja do domyślnego korzystania ze wskaźników wspólnych jako sposobu „wyrzucania elementów bezużytecznych” , aby programiści nie musieli tak dużo myśleć o alokacji …

8
Co dzieje się ze śmieciami w C ++?
Java ma automatyczny GC, który co jakiś czas zatrzymuje świat, ale dba o śmieci na stosie. Teraz aplikacje C / C ++ nie mają tych zawieszeń STW, ich użycie pamięci również nie rośnie nieskończenie. Jak osiąga się to zachowanie? Jak zajmowane są martwe przedmioty?



8
Czy przesłanianie Object.finalize () jest naprawdę złe?
Dwa główne argumenty przeciwko zastąpieniu Object.finalize()są następujące: Nie możesz zdecydować, kiedy to się nazywa. Może w ogóle nie zostać wywołany. Jeśli dobrze to rozumiem, nie sądzę, aby były to wystarczające powody, by Object.finalize()tak bardzo nienawidzić . Od implementacji maszyny wirtualnej i GC zależy, kiedy właściwy czas na zwolnienie obiektu, a …



8
Dlaczego Garbage Collection tylko zamiata stosy?
Zasadniczo nauczyłem się do tej pory, że wyrzucanie elementów bezużytecznych usuwa na zawsze dowolną strukturę danych, która nie jest obecnie wskazywana. Ale to sprawdza tylko stos pod kątem takich warunków. Dlaczego nie sprawdza również sekcji danych (globale, stałe itp.) Ani stosu? Co takiego jest w tej kupie, że jest to …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.