Pytania otagowane jako garbage-collection

Wyrzucanie elementów bezużytecznych (GC) to forma automatycznego zarządzania pamięcią, która próbuje odzyskać śmieci lub pamięć zajmowaną przez obiekty, które nie są już używane przez program.



8
Czy Haskell potrzebuje śmieciarki?
Jestem ciekaw, dlaczego implementacje Haskell używają GC. Nie przychodzi mi do głowy przypadek, w którym GC byłaby konieczna w czystym języku. Czy jest to tylko optymalizacja w celu ograniczenia kopiowania, czy rzeczywiście jest to konieczne? Szukam na przykład kodu, który przeciekałby, gdyby nie było GC.

16
Kiedy System.gc () coś robi?
Wiem, że w Javie zbieranie śmieci jest zautomatyzowane. Ale zrozumiałem, że jeśli wywołasz System.gc()w swoim kodzie, że JVM może, ale nie musi, zdecydować o przeprowadzeniu czyszczenia pamięci. Jak to dokładnie działa? Na jakiej podstawie / parametrach dokładnie maszyna JVM decyduje się wykonać (lub nie) wykonać GC, gdy widzi System.gc()? Czy …

6
Czy ustawienie obiektów Java na wartość null już coś robi?
Przeglądałem stare książki i znalazłem egzemplarz „Practical Java” Petera Haggera. W sekcji dotyczącej wydajności znajduje się zalecenie, aby ustawić odniesienia do obiektów, nullgdy nie są już potrzebne. Czy w Javie ustawianie odwołań do obiektów nullpoprawia wydajność lub efektywność usuwania pamięci? Jeśli tak, w jakich przypadkach jest to problem? Klasy kontenerów? …

5
Jakiego rodzaju usługi Garbage Collection używa Go?
Go to język zbierania śmieci: http://golang.org/doc/go_faq.html#garbage_collection Tutaj jest napisane, że jest to garbage collector typu mark-and-sweep, ale nie zagłębia się w szczegóły, a zamiana jest w toku ... jednak ten akapit wydaje się nie być zbytnio aktualizowany od czasu wydania Go. Nadal jest to znak i zamiatanie? Czy jest konserwatywne …

11
Zrozumienie znaczenia terminu i koncepcji - RAII (pozyskiwanie zasobów to inicjalizacja)
Czy moglibyście jako programiści C ++ dać nam dobry opis tego, czym jest RAII, dlaczego jest ważny i czy może mieć jakiekolwiek znaczenie dla innych języków? I zrobić znać trochę. Uważam, że oznacza to „Pozyskiwanie zasobów to inicjalizacja”. Jednak ta nazwa nie współgra z moim (prawdopodobnie niepoprawnym) zrozumieniem, czym jest …

13
Najlepsza praktyka tworzenia milionów małych obiektów tymczasowych
Jakie są „sprawdzone metody” tworzenia (i zwalniania) milionów małych obiektów? Piszę program szachowy w Javie, a algorytm wyszukiwania generuje pojedynczy obiekt „Move” dla każdego możliwego ruchu, a wyszukiwanie nominalne może łatwo wygenerować ponad milion obiektów ruchu na sekundę. JVM GC poradził sobie z obciążeniem mojego systemu programistycznego, ale jestem zainteresowany …

11
Kolektor śmieci w systemie Android
Widziałem wiele odpowiedzi na Androida, które sugerowały dzwonienie do garbage collectora w niektórych sytuacjach. Czy dobrą praktyką jest zażądanie modułu odśmiecania pamięci w systemie Android przed wykonaniem wymagającej pamięci operacji? Jeśli nie, czy mam zadzwonić tylko wtedy, gdy otrzymam OutOfMemorybłąd? Czy są inne rzeczy, których powinienem użyć przed skorzystaniem z …

9
Jak wymusić zbieranie śmieci z powłoki?
Tak więc patrzę na stertę z jmap na zdalnym pudełku i chcę wymusić na niej zbieranie śmieci. Jak to zrobić bez zaglądania do jvisualvm lub jconsole i przyjaciół? Wiem, że nie powinieneś ćwiczyć wymuszania zbierania śmieci - powinieneś po prostu dowiedzieć się, dlaczego sterta jest duża / rośnie. Zdaję sobie …



20
Co jest złego w używaniu GC.Collect ()?
Chociaż rozumiem poważne konsekwencje grania tą funkcją (a przynajmniej tak myślę), nie rozumiem, dlaczego staje się ona jedną z tych rzeczy, których szanowani programiści nigdy by nie używali, nawet ci, którzy nawet nie wiedzą po co to jest. Powiedzmy, że tworzę aplikację, w której użycie pamięci jest bardzo różne w …

3
Jak garbage collector może uniknąć nieskończonej pętli?
Rozważmy następujący program w C #, przesłałem go na codegolf jako odpowiedź na utworzenie pętli bez zapętlania: class P{ static int x=0; ~P(){ System.Console.WriteLine(++x); new P(); } static void Main(){ new P(); } } Ten program wygląda jak nieskończona pętla podczas mojej inspekcji, ale wydaje się, że działa przez kilka …

3
Komunikaty dziennika Java Garbage Collection
Skonfigurowałem Javę do zrzucania informacji o wyrzucaniu elementów bezużytecznych do dzienników ( pełny GC ). Nie jestem pewien, co oznaczają wpisy dotyczące czyszczenia pamięci w dziennikach. Przykładowe wpisy zamieszczono poniżej. Szukałem w Google i nie znalazłem solidnych wyjaśnień. Mam kilka rozsądnych domysłów, ale szukam odpowiedzi, które zawierają ścisłe definicje tego, …

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.