5 англоязычных материалов о байткоде от InfoQ

Из шести материалов, вошедших в новый выпуск электронного журнала 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 (вроде лямбд и дефолтных методов). В этой статье мы рассматриваем её подробно.

  1. Rafael Winterhalter
    Rafael works as a software consultant in Oslo, Norway. He is a proponent of static typing and a JVM enthusiast with particular interest in code instrumentation, concurrency and functional programming. Rafael blogs about software development, regularly presents at conferences and was pronounced a JavaOne Rock Star. When coding outside of his work place, he contributes to a wide range of open source projects and often works on Byte Buddy, a library for simple runtime code generation for the Java virtual machine. For his work, Rafael received a Duke's Choice award and was elected a Java Champion. @rafaelcodes