-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create 2024-08-28-vom-bytecode-henne-ei-problem-zur-neuen-java-class-…
…file-api.markdown
- Loading branch information
Showing
1 changed file
with
36 additions
and
0 deletions.
There are no files selected for viewing
36 changes: 36 additions & 0 deletions
36
...2024-08-28-vom-bytecode-henne-ei-problem-zur-neuen-java-class-file-api.markdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |