Ходячие объекты-мертвецы, или GC всегда прав
Автоматическое управление памятью — одна из основных особенностей Java и других managed языков. При этом в спецификации про GC написано очень мало: как именно собирать мусор каждой конкретной реализации JVM, предлагается решать самостоятельно. В результате для сборки мусора существует огромное количество стратегий и степеней свободы. Например, когда именно GC должен приходить за мертвым объектом? Ответ не так очевиден, а любое решение может повлиять на ход исполнения пользовательской программы.
В докладе обсудим, зачем коллектору оставлять мертвые объекты в памяти, как это сказывается на вашем приложении и как выжить во время нашествия ходячих объектов-мертвецов.
Main language | Russian Proposal |
Audience level | Expert & Senior |
Type of presentation | Slides only |
Works at Excelsior since 2011, is one of the Excelsior JET developers (Java SE certified implementation based on optimizing AOT compilation). Basically, works with runtime: GC, class loading, concurrency maintenance, profiling and so on. Besides, supports one plugin for the JET-compiled applications' debugging in GDB and sometimes writes for Excelsior JET Team Blog. Also, Ivan is co-founder and co-lead of JUGNsk — an official Java Users Group in Novosibirsk, helps to organize meetups about Java and JVM. In his free time teaches C/C++ courses at Novosibirsk State University.
Blog | https://www.excelsiorjet.com/blog/ |
Company | Excelsior LLC |
@dbg_nsk |