Ходячие объекты-мертвецы, или GC всегда прав

День 2 /  / Зал 2  /  RU /

Комментарий Программного комитета:

Рассказ о внутренностях GC, но не о том, «как», а о том, «когда», что особенно важно пользователям weak references. Речь не о конкретном алгоритме GC, а о требованиях стандарта и о том, как он фактически воплощен.

Автоматическое управление памятью — одна из основных особенностей Java и других managed языков. При этом в спецификации про GC написано очень мало: как именно собирать мусор каждой конкретной реализации JVM, предлагается решать самостоятельно. В результате для сборки мусора существует огромное количество стратегий и степеней свободы. Например, когда именно GC должен приходить за мертвым объектом? Ответ не так очевиден, а любое решение может повлиять на ход исполнения пользовательской программы.

В докладе обсудим, зачем коллектору оставлять мертвые объекты в памяти, как это сказывается на вашем приложении и как выжить во время нашествия ходячих объектов-мертвецов.


Скачать презентацию
Иван Углянский
Excelsior LLC

Работает в компании Excelsior c 2011 года, является одним из разработчиков Excelsior JET: сертифицированной реализации Java SE, основанной на оптимизирующей AOT-компиляции.

В основном занимается рантаймом: GC, загрузка классов, поддержка многопоточности, профилирование и т. д. Кроме того, поддерживает плагин для отладки JET-compiled приложений в GDB и иногда пишет посты в Excelsior JET Team Blog.

Также является одним из основателей и лидеров JUGNsk — официальной Java User Group в Новосибирске, организовывает Java-митапы и другие мероприятия.

В качестве хобби преподает в НГУ курсы по C/C++.

Прошлые выступления спикера