Skip to content

Commit

Permalink
Create 2024-08-28-vom-bytecode-henne-ei-problem-zur-neuen-java-class-…
Browse files Browse the repository at this point in the history
…file-api.markdown
  • Loading branch information
MPriess authored Jul 19, 2024
1 parent 0b056b2 commit d040db7
Showing 1 changed file with 36 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
layout: event
title: "Vom Bytecode-Henne-Ei-Problem zur neuen Java Class-File API"
date: 2024-08-28 19:15:00 +0200
registration: tba
tags: events
speakers:
- bweidig
location: tba
---

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.

0 comments on commit d040db7

Please sign in to comment.