Насколько я знаю, GC используется только тогда, когда JVM требуется больше памяти, но я не уверен в этом. Итак, пожалуйста, кто-то предлагает ответ на этот вопрос.Когда сборщик мусора используется в java?
ответ
Алгоритм сбора мусора Java, насколько я понимаю, довольно сложный и не такой простой. Кроме того, для GC имеется больше, чем алгоритм, который можно выбрать в момент запуска VM с аргументом, переданным JVM.
Там в FAQ о сборе мусора здесь: http://www.oracle.com/technetwork/java/faq-140837.html
Oracle также опубликовал статью «Tuning Сборка мусора с 5.0 Java [TM] Virtual Machine», который содержит глубокое понимание сбора мусора, и, вероятно, поможет вам лучше понять: http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
Часто задаваемые вопросы ссылка имеет трюк. –
Спецификации JVM и java ничего не говорят о том, когда происходит сбор мусора, поэтому полностью зависит от JVM-разработчиков, какие политики они хотят использовать. У каждой JVM, вероятно, должна быть документация о том, как она обрабатывает GC.
В общем, большинство JVMs вызывают GC, когда выделение памяти подталкивает общее количество выделенной памяти выше некоторого порогового значения. Могут быть многоразмерные уровни gc (полные или частичные/поколение), которые встречаются при разных пороговых значениях.
В старые времена сборщик мусора был эмпирическим по своей природе. На каком-то заданном интервалах или на основе определенного условия они будут пинать и исследовать каждый из объектов.
Коллекторы современных дней умнее в том смысле, что они дифференцируются в зависимости от того, что объекты отличаются продолжительностью жизни. Объекты дифференцируются между объектами молодого поколения и объектами, использующими объекты генерации.
Память управляется в бассейнах в соответствии с поколением. Когда заполняется пул памяти молодого поколения, происходит небольшая коллекция. Выжившие объекты перемещаются в пул памяти памяти. Когда заполняется пул памяти накопленного поколения, происходит крупная коллекция. Сохраняется третье поколение, которое известно как постоянное поколение и может содержать объекты, определяющие классы и методы.
Сбор мусора умышленно неопределенно описан в Спецификации языка Java, чтобы дать разработчикам JVM наилучшие условия работы для обеспечения хороших сборщиков мусора.
Следовательно, сборщики мусора и их поведение чрезвычайно зависят от поставщика.
Простейшая, но наименьшая забава - это та, которая останавливает всю программу при необходимости ее очистки. Другие более сложны и спокойно работают по вашей программе, когда вы начинаете более или менее агрессивно.
Самый интересный способ исследовать сборку мусора - запустить jvisualvm в Sun 6 JDK. Это позволяет вам видеть много, много внутренних вещей, которые важны для сбора мусора.
https://visualvm.dev.java.net/monitor_tab.html (но новая версия имеет много больше)
- 1. Когда Java вызывает сборщик мусора
- 2. Сборщик мусора в Java
- 3. java primitives сборщик мусора
- 4. Java-сборщик сборщиков мусора
- 5. Java-сборщик мусора
- 6. Когда сборщик мусора Java восстанавливает память?
- 7. Сборщик мусора Java - Когда он собирает?
- 8. Сборщик мусора в JAVA sp
- 9. Когда запускает сборщик мусора .net?
- 10. Как отключить сборщик мусора Java?
- 11. Когда сборщик мусора соберет Синглтон?
- 12. AS3 - когда запускается сборщик мусора?
- 13. Сборщик мусора Java для стека
- 14. Как работает сборщик мусора Java?
- 15. Java потоки и сборщик мусора
- 16. Java ссылки и сборщик мусора
- 17. Списки Java и сборщик мусора
- 18. Сборщик мусора в C++
- 19. Сборщик мусора
- 20. Сборщик мусора в Java после нулевого
- 21. Когда сборщик мусора в выводе C#
- 22. Сборщик мусора в Node.js
- 23. Области памяти Java и сборщик мусора
- 24. JAVA Многопоточность, утечка памяти, сборщик мусора
- 25. Сборщик мусора в .NET
- 26. Сборщик мусора не работает в java?
- 27. Создает ли сборщик мусора в Java автоматически?
- 28. Сборщик мусора не работает
- 29. Запустить сборщик мусора в RAD
- 30. Сборщик мусора против коллекций
Есть много хороших статей в Интернете о GC. Попробуйте найти некоторые солнечные блоги или белые документы. Те помогут вам больше всего. –