Вопросы с тегом «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 …

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 Garbage Collection работает с круговыми ссылками?
Насколько я понимаю, сборка мусора в 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 ... ... …



7
Как предотвратить распространение IDisposable на все ваши классы?
Начните с этих простых занятий ... Скажем, у меня есть простой набор таких классов: class Bus { Driver busDriver = new Driver(); } class Driver { Shoe[] shoes = { new Shoe(), new Shoe() }; } class Shoe { Shoelace lace = new Shoelace(); } class Shoelace { bool tied …

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

3
Java GC (сбой выделения)
Почему всегда "GC (Ошибка распределения)"? 64-разрядная серверная виртуальная машина Java HotSpot (TM) (25.25-b02) для linux-amd64 JRE ( 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 …

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

4
Как пропустить всплывающее окно «Свободный объект» при запуске 'git gui'
Когда я запускаю git gui, я получаю всплывающее окно с надписью В настоящее время в этом репозитории около 1500 незакрепленных объектов. Затем он предлагает сжать базу данных. Я делал это раньше, и это уменьшает количество свободных объектов примерно до 250, но это не подавляет всплывающее окно. Повторное сжатие не меняет …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.