Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage
<< | < | > | >> | API | Kapitel 43 - Reflection

## 43.6 Zusammenfassung

- 43.6 Zusammenfassung

Das Reflection-API ist ohne Zweifel ein wichtiger Bestandteil von Java. Es ist nicht nur Grundlage der Beans- und Serialisierungs-APIs, sondern eröffnet dem Tool-Entwickler auch eine Fülle von Möglichkeiten und Freiheiten bei der Entwicklung allgemein verwendbarer Werkzeuge. Zu beachten ist allerdings, daß Zugriffe auf Methoden und Membervariablen deutlich langsamer als bei direktem Zugriff ausgeführt werden. Im experimentellen Vergleich ergaben sich typischerweise Unterschiede um den Faktor 10 bis 100. Während auf der verwendeten Testmaschine der Aufruf einer Methode mit einem `double`-Parameter beispielsweise 120 ns. dauerte, wurden für denselben Aufruf per Reflection etwa 7.0 µs. benötigt. Bei deaktiviertem Just-In-Time-Compiler erhöhte sich die Zeit für den direkten Aufruf auf 620 ns., während der Reflection-Wert mit etwa 7.2 µs. nahezu unverändert blieb. Beim Zugriff auf Membervariablen wurden ähnliche Unterschiede gemessen. Bemerkenswert ist, daß der JIT bei Verwendung des Reflection-APIs praktisch keine Geschwindigkeitsvorteile bringt, denn alle nennenswerten Methoden sind native und können daher kaum optimiert werden.

In diesem Kapitel wurden folgende Themen behandelt:

- Die Klassen `Object` und `Class`.
- Dynamisches Laden und Instanzieren von Klassen.
- Aufruf parameterloser Methoden.
- Ein Hilfsprogramm zum Testen von Java-Klassen.
- Aufruf parametrisierter Methoden und das automatische Aus- und Einpacken von primitiven Typen in Wrapperklassen.
- Nachbilden von Funktionszeigern mit Reflection.
- Verwenden parametrisierter Konstruktoren.
- Zugriff auf Membervariablen.
- Erzeugen von Arrays und Zugriff auf Array-Elemente.

Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0
<< | < | > | >> | API | © 1998-2002 Guido Krüger, http://www.javabuch.de