0: getstatic #2
3: ldc #3
5: invokevirtual #4
8: return
Jeśli te rzeczy nic Ci nie mówią, a jednocześnie gdzieś głęboko w środku masz dziwne poczucie, że powinieneś je znać - przyjdź na tę prelekcję. Chcesz zrozumieć, jak działa component scan w Springu? Jakie paskudne rzeczy Hibernate robi z Twoimi pięknymi klasami encji? I co tak naprawdę dzieje się pod maską AspectJ?
Jeśli na którekolwiek z tych pytań odpowiedź brzmi „tak”, zapraszam Cię w podróż przez bytecode, stosy, tablice zmiennych lokalnych i format plików klas. Odsłonię podstawy JVM bytecode, wyjaśnię, jak to wszystko działa, dlaczego niektóre rzeczy wydają się dziwne, oraz pokażę kilka narzędzi, które pozwalają bawić się bytecodem w zaciszu własnego biurka.
Obiecuję, że podczas prezentacji nie ucierpi żadne zwierzę - poza ASM, ByteBuddy i Bytemanem. I tak, robiłem to kilka razy na produkcji. Dla wyższego dobra ludzkości.