Почему методы сборки мусора Java и Python различаются?
На самом деле подсчет ссылок j2se и стратегии, используемые core-java JVM Sun, представляют собой gc разные типы алгоритмов сборки java мусора.
Существует два основных j2se подхода к отслеживанию мертвых python-shell объектов: отслеживание и openjdk подсчет ссылок. При трассировке .java сборщик мусора начинается python с «корней» - таких вещей, как python-shell ссылки на стек, и отслеживает jre все доступные (живые) объекты. Все, до python-interpreter чего нельзя добраться, считается jdk мертвым. При подсчете ссылок py каждый раз, когда ссылка python изменяется, счетчик задействованных pythonic объектов обновляется. Любой python-shell объект, счетчик ссылок которого j2se становится равным нулю, считается garbage-collection мертвым.
Практически со всеми pythonista реализациями GC есть компромиссы, но core-java трассировка обычно хороша javax для операций с высокой пропускной oraclejdk способностью (т. Подсчет jdk ссылок может выполняться j2se небольшими порциями, но в gc целом будет медленнее. Это jdk может означать меньшее количество j2se зависаний, но более низкую oraclejdk производительность в целом.
Кроме core-java того, сборщик мусора с подсчетом java ссылок требует, чтобы детектор java цикла очищал любые объекты python-interpreter в цикле, которые не будут core-java обнаружены только их счетчиком pythonic ссылок. Perl 5 не имел детектора garbage-collection циклов в своей реализации jre GC и мог вызвать утечку памяти, которая oraclejdk была циклической.
Также были javax проведены исследования, чтобы oraclejdk получить лучшее из обоих j2se миров (малое время паузы, высокая jdk пропускная способность): http://cs.anu.edu.au/~Steve.Blackburn/pubs/papers/urc-oopsla-2003.pdf
java
python
garbage-collection
Почему методы сборки мусора Java и Python различаются?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.