Analizowanie plików klas za pomocą standardowego API
Używaj standardowego Class-File API do analizowania i przekształcania plików klas.
Porównanie kodu
✕ Third-party bytecode parser
ClassReader reader = new ClassReader(
Files.readAllBytes(classFile));
reader.accept(visitor, 0);
✓ Java 24+
ClassModel model = ClassFile.of().parse(classFile);
model.methods().forEach(method ->
System.out.println(
method.methodName().stringValue()));
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Wspierane API
Jest dostarczane i rozwijane wraz z formatem plików klas JDK.
Mniej zależności
Obsługuje typowe zadania dotyczące bytecode'u bez zewnętrznej biblioteki.
Komponowalne modele
Analizowanie, budowanie i przekształcanie korzystają z jednego API.
Stare podejście
ASM ClassReader
Nowoczesne podejście
Class-File API
Od JDK
24
Poziom trudności
Zaawansowany
Wsparcie JDK
Analizowanie plików klas za pomocą standardowego API
Dostępne
Sfinalizowane w JDK 24 (JEP 484, marzec 2025).
Jak to działa
Class-File API, sfinalizowane w JDK 24, zapewnia wspierane modele i przekształcenia plików klas JVM. Jest rozwijane wraz z formatem plików klas w JDK i w wielu zadaniach związanych z inspekcją i generowaniem eliminuje potrzebę używania bibliotek zewnętrznych.
Powiązana dokumentacja
Dowód