Bytecode-Manipulation hat eine lange Tradition im Java-Ökosystem. Die Gründe dafür sind vielfältig: von Leistungsoptimierungen über Codemanipulation bis hin zur dynamischen Implementierung zur Laufzeit.
Traditionell werden für das Low-Level-Handling Tools wie ASM, CGLib, Javassist und andere verwendet. Java selbst setzt z.B. ASM direkt im JDK ein. Jedoch genau diese Abhängigkeit von Java auf ein externes Tool, das selbst abhängig ist von den neuesten Java-Features, erzeugt ein Henne-Ei-Problem.
Mit Java 22 wurde die Class-File API als Preview-Feature vorgestellt. Sie zielt darauf ab, eine standardisierte API für das Parsen, Manipulieren und Generieren von Bytecode bereitzustellen. Statt bestehende Ansätze zu kopieren, beschreitet die API neue Wege und nutzt alle modernen Tools, die Java inzwischen bietet. Der Einsatz von Lambdas und Records ermöglicht eine intuitivere Nutzung und bessere Performance.
In diesem Vortrag werden wir uns zuerst eine Übersicht über die verschiedenen Tools und Ansätze zur Bytecode-Manipulation verschaffen. Anschließend gehen wir auf die Unterschiede (und vor allem Verbesserungen) von JEP 457/466 ein. Vergleichende Codebeispiele für verschiedene Bytecode-Tasks verdeutlichen den praktischen Nutzen der neuen API.
Ben Weidig ist Softwareentwickler mit den Schwerpunkten Web- und Mobile-Entwicklung. Regelmäßig veröffentlicht er Artikel zu verschiedenen IT-Themen, wobei Java oftmals im Mittelpunkt steht. Im Jahr 2023 erschien sein Buch "A Functional Approach to Java" beim O'Reilly Verlag.
https://belief-driven-design.com/
Synyx GmbH & Co. KG (Gläserne Softwarefabrik)
Brauerstraße 12a
76135 Karlsruhe
Auf der Veranstaltung werden Film- und Tonaufnahmen sowie Fotos gemacht, mit deren auch späteren Verwendung Sie sich durch den Besuch der Veranstaltung einverstanden erklären. Wenn Sie nicht fotografiert oder gefilmt werden möchten, können Sie direkt den/die FotografIn oder den/die Kameramann/-frau ansprechen.
Die Aufnahmen können im Internet, auf Social Media Kanälen sowie in Rundfunk-, TV-, und Printmedien (auch Büchern) veröffentlicht werden.
Die Verarbeitung erfolgt aufgrund des berechtigten Interesses der Verantwortlichen, die von ihr organisierte Veranstaltung bildlich zu dokumentieren und einer größeren Öffentlichkeit positiv darüber zu berichten