Запитання з тегом «garbage-collection»

Збір сміття (GC) - це форма автоматичного управління пам'яттю, яка намагається повернути сміття або пам'ять, зайняту об'єктами, які більше не використовуються програмою.

4
Чи зупиняють обробники подій зупиняти збирання сміття?
Якщо у мене є такий код: MyClass pClass = new MyClass(); pClass.MyEvent += MyFunction; pClass = null; Чи збиратиметься pClass сміття? Або він все ще розпалює свої події, коли вони відбудуться? Чи потрібно мені робити наступне, щоб дозволити збирання сміття? MyClass pClass = new MyClass(); pClass.MyEvent += MyFunction; pClass.MyEvent -= …

2
Розуміння збору сміття в .NET
Розглянемо наведений нижче код: public class Class1 { public static int c; ~Class1() { c++; } } public class Class2 { public static void Main() { { var c1=new Class1(); //c1=null; // If this line is not commented out, at the Console.WriteLine call, it prints 1. } GC.Collect(); GC.WaitForPendingFinalizers(); Console.WriteLine(Class1.c); …

6
Яким чином закриття JavaScript збирає сміття
Я зареєстрував таку помилку Chrome , що призвело до багатьох серйозних і неочевидних витоків пам'яті в моєму коді: (У цих результатах використовується профайлер пам'яті Chrome Dev Tools , який запускає GC, а потім робить знімок всього, що не збирається зібрано.) У наведеному нижче коді someClassекземпляр збирається сміттям (добре): var someClass …

11
Як поводитися: java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize () вичерпано після 10-секундних помилок?
Ми бачимо кількість TimeoutExceptionsв. GcWatcher.finalize, BinderProxy.finalizeТа PlainSocketImpl.finalize. 90 +% з них відбувається на Android 4.3. Ми отримуємо повідомлення про це від Crittercism від користувачів на місцях. Помилка є варіацією: " com.android.internal.BinderInternal$GcWatcher.finalize() timed out after 10 seconds" java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize() timed out after 10 seconds at android.os.BinderProxy.destroy(Native Method) at android.os.BinderProxy.finalize(Binder.java:459) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:187) …

24
Коли прийнятно викликати GC.Collect?
Загальна порада полягає в тому, що ви не повинні телефонувати GC.Collectзі свого коду, але які винятки з цього правила? Я можу придумати лише кілька дуже конкретних випадків, коли може бути сенсом змусити вивезення сміття. Один із прикладів, який спадає на думку, - це служба, яка прокидається з інтервалом, виконує якесь …

8
Як працює збір сміття Java з циркулярними посиланнями?
З мого розуміння, збирання сміття на Java очищує деякі об'єкти, якщо більше нічого не вказує на цей об’єкт. Моє запитання: що станеться, якщо у нас є щось подібне: class Node { public object value; public Node next; public Node(object o, Node n) { value = 0; next = n;} } …

9
Стек, статична та купа в C ++
Я шукав, але не дуже добре зрозумів ці три поняття. Коли мені потрібно використовувати динамічне розподілення (в купі) і в чому його реальна перевага? Які проблеми статичного і стекового? Чи можу я написати всю програму, не виділяючи змінних у купу? Я чув, що інші мови містять "сміттєзбірник", тому вам не …

6
Чи важливо явне закриття файлів?
Якщо в Python ви відкриваєте файл без виклику close(), або закриваєте файл, але не використовуєте try- finallyабо " with", це проблема? Або як практика кодування достатньо покластися на збирання сміття Python для закриття всіх файлів? Наприклад, якщо хтось робить це: for line in open("filename"): # ... do stuff ... ... …




1
Документація збору сміття Python [закрита]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 5 років тому . Удосконаліть це питання Я шукаю документи, які детально описують, як працює збір сміття пітон. Мене цікавить, що робиться …

5
Скорочення часу паузи на збирання сміття в програмі Haskell
Ми розробляємо програму, яка отримує та передає "повідомлення", зберігаючи тимчасову історію цих повідомлень, щоб вона могла повідомити вам історію повідомлень за запитом. Повідомлення ідентифікуються чисельно, зазвичай мають розмір близько 1 кілобайт, і нам потрібно зберігати сотні тисяч цих повідомлень. Ми хочемо оптимізувати цю програму за затримкою: час між відправленням та …

3
Java GC (помилка розподілу)
Чому завжди "GC (відмова розподілу)"? 64-бітний сервер VM сервера Java HotSpot (TM) (25.25-b02) для JRE Linux-amd64 ( 1.8.0_25 -b17), CommandLine flags: -XX:CMSInitiatingOccupancyFraction=60 -XX:GCLogFileSize=10485760 -XX:+HeapDumpOnOutOfMemoryError -XX:InitialHeapSize=32212254720 -XX:MaxHeapSize=32212254720 -XX:NewRatio=10 -XX:OldPLABSize=16 -XX:ParallelGCThreads=4 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintStringTableStatistics -XX:+PrintTenuringDistribution -XX:StringTableSize=1000003 -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=50 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC 27.329: [GC (Allocation Failure) 27.329: [ParNew Desired survivor size …

4
Як пропустити спливаюче вікно "Loose Object" під час запуску "git gui"
Коли я запускаю "git gui", я отримую спливаюче вікно, яке говорить Зараз у цьому сховищі розміщено приблизно 1500 вільних об'єктів. Потім пропонується стиснення бази даних. Я робив це раніше, і це зменшує сипучі об'єкти до приблизно 250, але це не пригнічує спливаючі вікна. Повторне стиснення не змінює кількість пухких об'єктів. …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.