Описание тега garbage-collection
Сборка мусора (GC) - это форма автоматического управления памятью, которая пытается освободить мусор или память, занятую объектами, которые больше не используются программой.
2
ответа
Сборка мусора объекта, который зарегистрирован на событие
У меня есть объект просмотра, который инициализирует другой объект, объект creditCard, и регистрируется на событие, которое вызывает creditCard. Если вид объекта не будет иметь ссылки на него. Это будет мусор? или я должен отписаться, чтобы это прои…
10 ноя '16 в 07:04
10
ответов
MemoryStream.Close() или MemoryStream.Dispose()
Какой мне позвонить? Нужно ли называть оба? Другой бросит исключение, если я уже позвонил одному из них?
25 ноя '10 в 07:25
1
ответ
Кэширование изображений - растровое изображение не собирается после загрузки другого растрового изображения или закрытия операции ImageView.
Я пытаюсь реализовать что-то, что очень похоже на UrlImageViewHelper ( https://github.com/koush/UrlImageViewHelper), где вы можете легко с помощью простой одной строки кода, загрузить изображения из URL-адреса, и если изображение уже было загружено …
16 сен '13 в 15:27
3
ответа
Собираются ли связанные списки GC, когда первый элемент списка недоступен?
У меня есть двусвязный список объектов: class MyObject { MyObject previousObject; MyObject nextObject; // Other fields and methods } Только первый объект такого списка непосредственно хранится в приложении, остальные объекты доступны через этот перв…
17 фев '13 в 11:38
3
ответа
Что может вызвать большое расхождение между второстепенным временем GC и общим временем паузы?
У нас есть приложение, чувствительное к задержке, и мы испытываем некоторые паузы, связанные с GC, которые мы не полностью понимаем. Иногда у нас есть небольшой сборщик мусора, который приводит к тому, что время паузы приложения намного больше, чем …
15 апр '10 в 15:38
1
ответ
Когда мусор CPython собирает?
Если я правильно понимаю, в CPython объекты будут удалены, как только их число ссылок достигнет нуля. Если у вас есть циклы ссылок, которые становятся недоступными, то логика не будет работать, но иногда интерпретатор попытается найти их и удалить и…
17 апр '14 в 18:27
2
ответа
Выпуск сборщика мусора
Этот вопрос похож на мой предыдущий 3. interface Animal { void makeNoise(); } 4. class Horse implements Animal { 5. Long weight = 1200L; 6. public void makeNoise() { System.out.println("whinny"); } 7. } 8. public class Icelandic extends Horse { 9. p…
02 сен '12 в 09:23
3
ответа
Профилирование и оптимизация игрового андроида
Я делаю свою первую игру для Android, которая станет трехмерной аркадной игрой с использованием OpenGLES. Я работал над этим в течение достаточно долгого времени, главным образом оптимизируя двигатель для гибкости в будущем. В любом случае, теперь я…
28 апр '11 в 20:35
1
ответ
Ява управления памятью с несколькими потоками
Я использую сервлет tomcat, который одновременно сохраняет контент, когда он становится доступным сервлету. Один запрос может содержать 1 или несколько тысяч частей (компонентов), которые могут потребоваться для хранения. Чтобы справиться с параллел…
21 янв '14 в 16:46
2
ответа
Почему невозможно создать массив размера MAX_INT в Java?
Я прочитал некоторые ответы на этот вопрос ( Почему я не могу создать массив большого размера? И https://bugs.openjdk.java.net/browse/JDK-8029587), и я не понимаю следующее. "В коде GC мы передаем размер объектов в словах как int". Как я знаю размер…
24 апр '17 в 15:28
3
ответа
Как я могу узнать, какие финализуемые объекты находятся в куче 0 поколения?
Я пытаюсь отследить проблему производительности, связанную со сборкой мусора, и один из симптомов состоит в том, что счетчик "Promoted Finalization-Memory from Gen0" показывает, что очень большое количество объектов с финализаторами создаются и выхо…
20 авг '14 в 18:14
1
ответ
Понимание журналов GC и задержек в веб-приложении
Это GC журналы веб-приложения (JBoss 7.1). Как интерпретировать эту информацию? Webapp иногда имеет заметные задержки, и я пытаюсь найти причину. 362.261: [GC [PSYoungGen: 12772K->677K(13056K)] 47780K->35813K(57600K), 0.0214030 secs] [Times: u…
16 мар '15 в 11:52
1
ответ
Создание списка на основе другого списка для уменьшения использования памяти
Если я вызываю какую-то внешнюю библиотеку, которая возвращает List[LargeObjects], то есть список с объектами, которые имеют много полей, это займет большую часть памяти в куче. Однако меня интересует только name (Строка) поле каждого элемента. Итак…
15 июн '17 в 11:45
2
ответа
Время Spark GC очень велико, вызывая медленное выполнение задачи
Я использую приложение spark на кластере из 5 узлов. Каждый узел имеет конфигурацию 16 ядер и 64 ГБ оперативной памяти. В моем приложении 4 этапа. 3 этапа выполняются быстро для 4 этапа, т.е. mapToPair занимает слишком много времени (почти 4 часа). …
19 ноя '17 в 14:48
1
ответ
MulticastDelegate.GetInvocationList() выделяет. Это можно обойти?
Можно ли вызвать MulticastDelegate и обработать возвращаемое значение каждого подключенного обработчика без выделения памяти? Фон В схеме нормальных вещей Delegate[] выделено MulticastDelegate.GetInvocationList() незначительно. Однако в некоторых сл…
24 июн '14 в 12:40
2
ответа
Предотвращает ли setInterval внутри объекта сбор мусора при удалении объекта?
Я работаю над небольшим проектом Websocket (используя Socket.io), где я использую такой класс: function myClass() { // start server sync window.setInterval(this.update.bind(this), 14); // listen for socket.io events io.on('my-event', doStuff); } В м…
02 янв '17 в 14:59
1
ответ
Как сборщик мусора в Java обрабатывает переменные внутри POJO?
В настоящее время я пытаюсь исправить утечку памяти в моей программе, и мой мозг начинает выдавать исключения OutOfOptions. Программа создает много объектов, и я обращаюсь к ним с помощью object = null как только они больше не нужны, но каким-то обр…
20 дек '14 в 05:45
1
ответ
GCHandle.FromIntPtr всегда говорит, что "значение принадлежит другому домену", даже с минималистическим тестом
Я использую mono 2.0.5, и следующий пример всегда приводит к "ArgumentException: значение GCHandle принадлежит другому домену". GCHandle handle = GCHandle.Alloc(this, GCHandleType.Weak); IntPtr ptr = GCHandle.ToIntPtr(handle); GCHandle testHandle = …
20 ноя '14 в 06:37
1
ответ
Старое поколение Java быстро заполняется
У меня проблема с тем, что мой GC (основной) работает каждые несколько часов, так как многие объекты переходят от молодого поколения к старому. Может кто-нибудь проанализировать и предложить, какой параметр я должен изменить, чтобы настроить мой GC?…
23 мар '18 в 08:11
1
ответ
GC крутится все время, несмотря на много свободной кучи
У меня есть приложение, работающее с -mx7000m, Я вижу, что выделено 5,5 ГБ кучи. Тем не менее, по некоторым причинам, это GCing постоянно, и, будучи CMS, он оказывается довольно загруженным процессором. Итак, у него уже выделено 5,5 ГБ кучи, но каки…
14 июл '14 в 16:51