DiscoverThe Marco ShowModern Bytecode Instrumentation with ByteBuddy – Rafael Winterhalter
Modern Bytecode Instrumentation with ByteBuddy – Rafael Winterhalter

Modern Bytecode Instrumentation with ByteBuddy – Rafael Winterhalter

Update: 2025-12-10
Share

Description

Rafael Winterhalter, creator of ByteBuddy and long-time Java consultant, joins Marco to break down the hidden world of JVM bytecode instrumentation. They discuss how ByteBuddy powers tools like Mockito and Hibernate, why legacy Java still dominates enterprise systems, and what it’s really like maintaining a massive open-source project as a single developer.

💡 Topics in this episode:

  • How ByteBuddy works and why frameworks rely on it

  • JVM bugs, JIT issues, and surprises from instrumentation

  • Supporting legacy Java (5, 6, 8…) in modern environments

  • Open-source sustainability and avoiding burnout

  • Java modules, unsafe, and evolving with new JDK releases

  • Rethinking Java build tools and software engineering complexity

🕑 Timestamps:

(00:00 ) Intro

(01:10 ) Rafael’s background & the origin of ByteBuddy

(03:00 ) What ByteBuddy does and why it matters

(04:32 ) Replacing CGLIB and early challenges

(07:05 ) ByteBuddy’s design philosophy

(09:15 ) Mockito, Hibernate and real-world adoption

(13:14 ) Open source reality

(15:48 ) Performance myths and JVM behavior

(18:47 ) JVM bugs, JIT issues and instrumentation pitfalls

(21:11 ) Supporting legacy Java in enterprise

(23:56 ) Testing ByteBuddy across many JDKs

(25:53 ) Why companies still run Java 5/6

(28:25 ) Engineering vs economics

(30:39 ) Modules, unsafe and evolving with Java

(36:12 ) Maintaining a one-person project

(39:31 ) Conferences and developer evangelism

(42:02 ) Consulting vs product engineering

(49:51 ) Burnout and sustainability

(52:02 ) Thoughts on AI in software development

(57:13 ) Rethinking Java build tools

(01:05:07 ) Build security and dependency risks

(01:10:16 ) Giveaway

(01:10:48 ) Rapid fire and outro


New episodes every other Wednesday. Subscribe for more developer-focused conversations.

🎥 Watch the full episode on YouTube: https://youtu.be/AzfhxgkBL9s


Comments 
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Modern Bytecode Instrumentation with ByteBuddy – Rafael Winterhalter

Modern Bytecode Instrumentation with ByteBuddy – Rafael Winterhalter

IntelliJ IDEA