Вопросы с тегом «garbage-collection»

161
Как Java Garbage Collection работает с круговыми ссылками?

Насколько я понимаю, сборка мусора в Java очищает некоторые объекты, если ничто другое не «указывает» на этот объект. Мой вопрос: что произойдет, если у нас будет что-то вроде этого: class Node { public object value; public Node next; public Node(object o, Node n) { value = 0; next = n;} }...

160
Стек, статика и куча в C ++

Я искал, но я не очень хорошо понял эти три понятия. Когда мне нужно использовать динамическое распределение (в куче) и каково его реальное преимущество? В чем проблемы статики и стека? Могу ли я написать целое приложение без размещения переменных в куче? Я слышал, что в других языках есть «сборщик...

149
Важно ли явно закрывать файлы?

В Python, если вы открываете файл без вызова close()или закрываете файл, но не используете try- finallyили withоператор " ", это проблема? Или для практики кодирования достаточно полагаться на сборку мусора Python для закрытия всех файлов? Например, если кто-то делает это: for line in...

138
Как предотвратить распространение 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 = false; } A Busимеет a Driver,...

132
Документация по сборщику мусора Python [закрыто]

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

130
Сокращение времени паузы при сборке мусора в программе на Haskell

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

130
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...

124
Как пропустить всплывающее окно «Свободный объект» при запуске 'git gui'

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

120
Нужно ли явно удалять обработчики событий в C #

У меня есть класс, который предлагает несколько мероприятий. Этот класс объявляется глобально, но не создается экземпляром этого глобального объявления - он создается по мере необходимости в методах, которые в нем нуждаются. Каждый раз, когда этот класс требуется в методе, создается его экземпляр и...

118
Когда System.gc () что-то делает?

Я знаю, что сборка мусора в Java автоматизирована. Но я понял, что если вы вызовете System.gc()свой код, JVM может решить или не решить выполнить сборку мусора в этот момент. Как именно это работает? На каком основании / параметрах именно JVM решает делать (или не делать) сборщик мусора, когда...

118
Требуется ли для Haskell сборщик мусора?

Мне любопытно, почему реализации Haskell используют GC. Я не могу представить себе случай, когда сборщик мусора был бы необходим на чистом языке. Это просто оптимизация для уменьшения количества копий или это действительно необходимо? Я ищу пример кода, который мог бы протечь, если бы GC не...

118
Лучшая практика для принудительной сборки мусора в C #

По моему опыту кажется, что большинство людей скажет вам, что неразумно принудительно собирать мусор, но в некоторых случаях, когда вы работаете с большими объектами, которые не всегда собираются в поколении 0, но когда память является проблемой, это нормально, чтобы заставить собирать? Есть ли...

112
Делает ли что-нибудь установка объектов Java на null?

Я просматривал старые книги и нашел копию "Практической Java" Питера Хаггера. В разделе производительности есть рекомендация устанавливать ссылки на объекты, nullкогда они больше не нужны. Может ли в Java устанавливать ссылки на объекты для nullповышения производительности или эффективности сборки...

111
Какой вид сборки мусора использует Go?

Go - это язык со сборкой мусора: http://golang.org/doc/go_faq.html#garbage_collection Здесь написано, что это сборщик мусора, но он не вникает в детали, и его замена находится в разработке ... однако этот абзац, похоже, не сильно обновлялся с момента выпуска Go. Это все еще метка? Это консервативно...

110
Понимание значения термина и концепции - RAII (Resource Acquisition is Initialization)

Не могли бы вы, разработчики C ++, дать нам хорошее описание того, что такое RAII, почему он важен и может ли он иметь какое-либо отношение к другим языкам? Я сделать немного знаю. Я считаю, что это означает «Приобретение ресурсов - это инициализация». Однако это имя не согласуется с моим...

109
Лучшая практика для создания миллионов небольших временных объектов

Каковы «лучшие практики» для создания (и выпуска) миллионов небольших объектов? Я пишу шахматную программу на Java, и алгоритм поиска генерирует один объект «Ход» для каждого возможного хода, а номинальный поиск может легко генерировать более миллиона объектов ходов в секунду. Сборщик мусора JVM...

108
Сборщик мусора в Android

Я видел много ответов Android, в которых предлагается в некоторых ситуациях вызывать сборщик мусора. Является ли хорошей практикой запрашивать сборщик мусора в Android перед выполнением операции, требующей большого количества памяти? Если нет, следует ли мне вызывать его только в случае...

107
Как заставить сборку мусора из оболочки?

Итак, я смотрю на кучу с jmap на удаленном компьютере и хочу принудительно запустить сборку мусора. Как это сделать, не заходя в jvisualvm или jconsole и друзей? Я знаю, что вы не должны практиковать принудительную сборку мусора - вам просто нужно выяснить, почему куча большая / растет. Я также...