Вы здесь

Загрузчики классов и инструментация байткода

Курс
Предмет:

Лекция 1. Загрузчики классов в Java: коллекция граблей

Модель динамической загрузки классов является одной из основных особенностей платформы Java. Загрузчик классов позволяет загружать исполняемый код в JRE не перезагружая основное приложение. Сервера приложений, модульные системы, многие веб-фреймворки используют загрузчики классов для внесения динамических особенностей в свою функциональность.

В этом докладе мы рассмотрим основные положения в механизме загрузки классов, а так же разберём основные проблемы возникающие в приложениях изза особенностей поведения загрузчиков. Будут рассмотрены причины возникновения типичных ошибок ClassNoDefFoundError, IncompatibleClassChangeError, LinkageError, и др, а так же способы диагностики и пути к решению этих ошибок.

Лекция 2. Java-агенты, Instrumentation API и Javassist

Пакет java.lang.instrument был добавлен в Java уже давно, в версии 1.5. На простых примера рассмотрим основные возможности Instrumentation API и поговорим о том, как и для чего можно сделать своего Java-агента. Картинка была бы неполной без упоминания инструментов для манипуляций с байткодом — для этого мы посмотрим на возможности Javassist и увидим, что с этим со всем можно сделать.