Möchten Sie mit Ihrem Team teilnehmen? Ab drei Personen profitieren Sie von unseren Gruppenrabatten! Direkt im Shop buchen!

Vom Bytecode-Henne-Ei-Problem zur neuen Java Class-File API

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 wurden für das Low-Level-Handling Tools wie ASM, CGLib, Javassist usw. genutzt, und Java selbst setzt 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 veröffentlicht. Sie hat das Ziel, eine standardisierte API für das Parsen, Manipulieren und Generieren von Bytecode zur Verfügung zu stellen. Anstatt bestehende Ansätze zu kopieren, geht JEP 457 neue Wege und nutzt alle verfügbaren Tools, die modernes Java inzwischen zur Verfügung stellt. Der Einsatz von Lambdas oder Records ermöglichen 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, um dann auf die Unterschiede (und vor allem Verbesserungen) von JEP 457/466 einzugehen. Vergleichende Codebeispiele für verschiedene Bytecode-Tasks illustrieren den praktischen Nutzen der neuen API.

Speaker

 

Ben Weidig
Ben Weidig

betterCode-Newsletter

Du möchtest über die betterCode() Java und weitere unserer betterCode()-Events auf dem Laufenden gehalten werden?

 

Anmelden