Bernd Müller: Instrumentierung - Das Werkzeug der Werkzeugmacher

Das Package java.lang.instrument führt das Konzept eines Java-Agenten ein, der Klassen beim Laden in die VM oder bereits geladenen Klassen innerhalb der VM ändern kann. Man kann daher mit Standard-Java ohne zusätzliche Bibliotheken Klassen zur Laufzeit ändern. Die Änderungen sind beschränkt auf (neue) Methodenrümpfe und Konstanten. Das Hinzufügen, Löschen oder Umbenennen von Methoden und Variablen ist nicht erlaubt.

Dieser Vortrag führt die Konzepte der Instrumentierung ein und zeigt, wie einfach das Ersetzen von Klassen zur Laufzeit (Hot-Swap) mit Standard-Java ist.

Der Vortrag belegt diese "Einfachheit" durch kleinere Demos, z.B. dem Nachbau einer JRebel-Light-Variante. Zum Abschluss gehen wir noch auf ByteMan ein, ein JBoss-Framework zum Tracen und Monitoren von Anwendungen.

Vortragsfolien: Slideshare

Nach seinem Studium der Informatik und der Promotion arbeitete Bernd Müller für die IBM und die HDI Informationssysteme. Er ist Geschäftsführer und Professor, Autor mehrerer Bücher zu den Themen JSF und JPA, sowie regelmäßiger Speaker auf nationalen und internationalen Konferenzen.

Web: www.pdbm.de