JAVA-Klassen ohne LANG zu überlegen INSTRUMENTieren

Analyse, Generierung oder auch Manipulation von Java-Programmen zur Laufzeit sind nützliche Technologien in der Java-Softwareentwicklung. Durch diese Funktionen können beispielsweise Programmier-Paradigmen wie die Aspekt-orientierte Programmierung (AOP) realisiert werden. Der Vorgang des Veränderns von Bytecode wird in der Softwaretechnologie auch als Bytecode-Engineering oder Instrumentierung bezeichnet. Eine sinnvolle Erweiterung in Java 5 stellt das Package java.lang.instrument dar, welches eine einfache Integration von Bytecode-Engineering-Mechanismen ermöglicht.

Weiterlesen »

Schlagworte:

Nicht die Bohne kompliziert: Java Bytecode-Engineering

Analyse, Generierung oder auch Manipulation von Java-Programmen zur Laufzeit sind nützliche Technologien in der Java-Softwareentwicklung. Durch diese Funktionen können beispielsweise Ansätze wie die Aspekt-orientierte Programmierung (AOP) werden. Dabei können diese Funktionalitäten sowohl am Quellcode, als auch an bereits compiliertem Bytecode realisiert werden. Der Vorteil der Bytecode-Manipulation besteht darin, dass kein erneutes Compilieren des Quellcodes notwendig ist. Zu genau diesem Zweck existieren verschiedene Bibliotheken mit jeweils verschiedenen Ansätzen und Zielen. Die wohl bekanntesten Bibiotheken sind ASM von ObjectWeb, BCEL von der Apache Software Foundation und Javassist als Unterprojekt von JBoss. In diesem Beitrag sollen Eigenschaften dieser Bibliotheken kurz beleuchtet werden.

Weiterlesen »

Schlagworte:
 

google

google

asus