Das Wissensportal für IT-Professionals. Entdecke die Tiefe und Breite unseres IT-Contents in exklusiven Themenchannels und Magazinmarken.

SIGS DATACOM GmbH

Lindlaustraße 2c, 53842 Troisdorf

Tel: +49 (0)2241/2341-100

kundenservice@sigs-datacom.de

Bytecode generieren leicht gemacht – Teil 2: AOP, Instrumentierung und Agenten mit Byte Buddy

Byte Buddy ist eine gut designte Bibliothek, deren extrem umfangreiche Programmierschnittstelle nur wenige Wünsche offenlässt. Byte Buddy erlaubt das Erstellen und Ändern von Java-Klassen während der Laufzeit einer Java-Anwendung ohne die Hilfe eines Java-Compilers. Im ersten Teil haben wir uns mit dem Warum und Wieso von Bytecode-Generierung und den Grundlagen der API befasst. Die Erzeugung von Subklassen oder Modifikation von existierenden Klassen und Methoden war genauso Thema wie Classloading.

Während die Generierung von Bytecode zum Compile- und Build-Zeitpunkt sinnvoll ist, kann es aus verschiedenen Gründen hilfreich sein, Code erst beim Laden zu instrumentieren:

  • Code, der nicht benutzt wird, muss nicht voreilend modifiziert werden, zusätzliche Klassen werden nicht generiert.
  • Klassen und Bibliotheken, auf deren Build-Prozess man keinen Einfluss hat und die gegebenenfalls vom Nutzer dynamisch hinzugefügt werden, sind im Build-Prozess noch nicht verfügbar.
  • Verschiedene Anwendungsfälle,…