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.
Mam dość złożoną aplikację JavaScript, która ma główną pętlę wywoływaną 60 razy na sekundę. Wydaje się, że odbywa się dużo wyrzucania elementów bezużytecznych (na podstawie danych wyjściowych „piłokształtnych” z osi czasu pamięci w narzędziach deweloperskich Chrome) - co często wpływa na wydajność aplikacji. Więc próbuję zbadać najlepsze praktyki, aby zmniejszyć …
Biorąc pod uwagę hipotetyczną klasę narzędziową, która jest używana tylko w konfiguracji programu: class MyUtils { private static MyObject myObject = new MyObject(); /*package*/static boolean doStuff(Params... params) { // do stuff with myObject and params... } } czy myObject będzie zbierany jako śmieci, gdy nie będzie już używany, czy też …
Jaki jest domyślny moduł odśmiecania pamięci dla Java 8? Kiedy sprawdzam JMX Beans, okazuje się, że jest to kolektor równoległy dla nowej generacji i stary kolektor szeregowy dla starej generacji.
Jaki jest czas próbkowania używany przez maszynę JVM do zgłaszania „java.lang.OutOfMemoryError: przekroczono limit narzutu GC”? Wiem, że możesz kontrolować 98% i 2% za pomocą parametrów GCTimeLimit i GCHeapFreeLimit, ale jaki jest czas próbkowania?
Załóżmy, że utworzę plik tymczasowy w Javie za pomocą metody File tmp = File.createTempFile(prefix, suffix); Jeśli nie wywołam tej delete()metody bezpośrednio, kiedy plik zostanie usunięty? Zgodnie z intuicją może to nastąpić, gdy JVM zakończy działanie, lub wcześniej (przez moduł wyrzucania elementów bezużytecznych) lub później (przez jakiś proces czyszczenia systemu operacyjnego).
Ponieważ Java 7 będzie domyślnie używać nowej funkcji czyszczenia pamięci G1, to czy Java będzie w stanie obsłużyć o rząd wielkości większą stertę bez rzekomych „niszczycielskich” czasów wstrzymania GC? Czy ktoś faktycznie wdrożył G1 do produkcji, jakie masz doświadczenia? Szczerze mówiąc, jedyny raz, kiedy widziałem naprawdę długie przerwy w GC, …
Rozumiem, że Android Activitiesma określone cykle życia i onCreatenależy to zastąpić i użyć do inicjalizacji, ale co dokładnie dzieje się w konstruktorze? Czy są jakieś przypadki, w których można / należy również zastąpić Activitykonstruktora, czy też nie należy go nigdy dotykać? Zakładam, że konstruktor nigdy nie powinien być używany, ponieważ …
Dzisiaj moi koledzy i ja dyskutujemy na temat użycia finalsłowa kluczowego w Javie do usprawnienia zbierania śmieci. Na przykład, jeśli napiszesz metodę taką jak: public Double doCalc(final Double value) { final Double maxWeight = 1000.0; final Double totalWeight = maxWeight * value; return totalWeight; } Zadeklarowanie zmiennych w metodzie finalpomogłoby …
To pytanie zostało opublikowane w jakiejś witrynie. Nie znalazłem tam właściwych odpowiedzi, więc zamieszczam je tutaj ponownie. public class TestThread { public static void main(String[] s) { // anonymous class extends Thread Thread t = new Thread() { public void run() { // infinite loop while (true) { try { …
Czy przypisanie nieużywanego odniesienia do obiektu nullw Javie poprawia proces czyszczenia pamięci w jakikolwiek wymierny sposób? Moje doświadczenie z Javą (i C #) nauczyło mnie, że próba przechytrzenia maszyny wirtualnej lub kompilatora JIT jest często sprzeczna z intuicją, ale widziałem, jak współpracownicy używają tej metody i jestem ciekawy, czy jest …
Przechodzę przez dużą refaktoryzację / poprawianie szybkości jednej z moich większych aplikacji MVC. Został wdrożony do produkcji od kilku miesięcy i zacząłem otrzymywać limity czasu oczekiwania na połączenia w puli połączeń. Wyśledziłem problem do nieprawidłowego usunięcia połączeń. W związku z tym dokonałem tej zmiany w moim kontrolerze podstawowym: public class …
Java 7 nie istnieje już od jakiegoś czasu, ale nie mogę znaleźć żadnych dobrych zasobów dotyczących konfiguracji garbage collectorów , a konkretnie nowego kolektora G1 . Moje pytania: Czy G1 jest domyślnym kolektorem w Javie 7, a jeśli nie, jak aktywować G1? Jakie opcjonalne ustawienia ma G1 w Javie7? Czy …
Jest to problem, który od kilku miesięcy próbuję znaleźć. Mam uruchomioną aplikację Java, która przetwarza źródła XML i zapisuje wynik w bazie danych. Występowały sporadyczne problemy z zasobami, które są bardzo trudne do wyśledzenia. Tło: Na pudełku produkcyjnym (gdzie problem jest najbardziej zauważalny) nie mam szczególnie dobrego dostępu do pudełka …
Problemy z brakiem pamięci występują po zainstalowaniu KB4525236 na naszych serwerach / klientach z systemem Windows 10. Wydaje się, że ta poprawka zabezpieczeń zmieniła się w momencie, gdy pamięć jest zbierana podczas wywoływania funkcji GetRef. Pre KB4525236 Każde wystąpienie utworzone w funkcji wywoływanej przez GetRefzostało pobrane śmieci, gdy tylko zmienna …
Mam prostą klasę, która jest zdefiniowana jak poniżej. public class Person { public Person() { } public override string ToString() { return "I Still Exist!"; } ~Person() { p = this; } public static Person p; } W metodzie głównej public static void Main(string[] args) { var x = new …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.