Cracow, June 2017

Mutants, Xenomorphs and Bytecode

0: getstatic  #2 
3: ldc  #3 
5: invokevirtual #4 
8: return

If these things don't mean anything to you, but at the same time you have this strange feeling deep inside you, that you should know it by heart, come to this talk. Do you want to understand how component scan works in Spring? What nasty things does Hibernate do to your lovely entity classes? And how does AspectJ work underneath? If the answer to any of the above questions is "yes", you should feel welcome to the journey through bytecode, stacks, local variable tables and class file format. I am going to unveil some of the JVM bytecode fundamentals, explain how everything works and why some things seem weird as well as to present a few tools that allow you to play with bytecode in a warmth of your desk. I promise not to hurt any animal during my presentation, except ASM, ByteBuddy and Byteman. And yes, I did it a few times in production, for better good of humanity.

Lecture will be in polish.

Join! SIGN UP TO OUR newsletter!
Jarosław Pałka

A software developer with 14 years of professional experience in IT, as an architect, programmer, designer, analyst, team leader, project manager, development department manager. Gives workshops on software Craftsmanship, Domain Driven Design, Test-driven development and Spring. Team leader at Allegro. More at