Из шести материалов, вошедших в новый выпуск электронного журнала InfoQ, сразу пять посвящёны работе с байткодом. А в числе их авторов есть знакомый нам Рафаэль Уинтерхалтер: в октябре он выступит на Joker с докладом «Making Java more dynamic».
Номер доступен для бесплатного скачивания в PDF, ePub и Mobi на сайте InfoQ, а вот перевод его оглавления:
1. «Жизнь в Матрице с манипуляциями с байткодом»
Эшли Палс исследует распространённые фреймворки для модификации байткода ASM, GCLib и Javassist, показывая, как они работают и почему проекты вроде Spring используют их.
2. «Лёгкое создание Java-агентов Byte Buddy»
Рафаэль Уинтерхалтер, разрабатывающий библиотеку кодогенерации Byte Buddy, рассказывает о том, как с помощью неё создавать Java-агентов.
3. «Байткод Java: меняя правила»
Хотя немногие разработчики взаимодействуют с байткодом напрямую, понимать его не так сложно, как может показаться. Рафаэль Уинтерхалтер помогает в этом.
4. «Пять продвинутых техник дебаггинга, которые должен знать каждый Java-разработчик»
Архитектуры становятся более распределёнными, код более асинхронным, и обнаруживать ошибки в продакшене становится сложнее, чем когда-либо. В этой статье разобраны пять способов упростить себе жизнь при дебаггинге.
5. «Секреты байткод-ниндзя»
Язык Java определяется спецификацией Java Language Spec, но байткод — совсем другим стандартом. Эта статья рассматривает структуру class-файлов и возможность создавать их напрямую.
6. «Секретное оружение Java: invokedynamic»
Инструкция invokedynamic стала первым нововведением в байткоде со времён Java 1.0, и она была критичной для внедрения самых громких новинок Java 8 (вроде лямбд и дефолтных методов). В этой статье мы рассматриваем её подробно.
Номер доступен для бесплатного скачивания в PDF, ePub и Mobi на сайте InfoQ, а вот перевод его оглавления:
1. «Жизнь в Матрице с манипуляциями с байткодом»
Эшли Палс исследует распространённые фреймворки для модификации байткода ASM, GCLib и Javassist, показывая, как они работают и почему проекты вроде Spring используют их.
2. «Лёгкое создание Java-агентов Byte Buddy»
Рафаэль Уинтерхалтер, разрабатывающий библиотеку кодогенерации Byte Buddy, рассказывает о том, как с помощью неё создавать Java-агентов.
3. «Байткод Java: меняя правила»
Хотя немногие разработчики взаимодействуют с байткодом напрямую, понимать его не так сложно, как может показаться. Рафаэль Уинтерхалтер помогает в этом.
4. «Пять продвинутых техник дебаггинга, которые должен знать каждый Java-разработчик»
Архитектуры становятся более распределёнными, код более асинхронным, и обнаруживать ошибки в продакшене становится сложнее, чем когда-либо. В этой статье разобраны пять способов упростить себе жизнь при дебаггинге.
5. «Секреты байткод-ниндзя»
Язык Java определяется спецификацией Java Language Spec, но байткод — совсем другим стандартом. Эта статья рассматривает структуру class-файлов и возможность создавать их напрямую.
6. «Секретное оружение Java: invokedynamic»
Инструкция invokedynamic стала первым нововведением в байткоде со времён Java 1.0, и она была критичной для внедрения самых громких новинок Java 8 (вроде лямбд и дефолтных методов). В этой статье мы рассматриваем её подробно.