[Java] Ist die Reflexion wirklich schwer? Leistungsvergleich

Zweck

Ich wollte beim Erstellen der Basisklasse Reflexion verwenden, aber war es wirklich schwer, weil ich die Information hatte, dass Reflexion schwer ist? Ich wollte wissen, wie schwer es war, also habe ich es tatsächlich gemessen.

Überprüfungsumgebung

Quellcode der Überprüfung

** 1. Normale Instanziierung **

qiita.java


private static Oimo getInstance01() throws Exception {
	return new Oimo();
}

** 2. Instanzgenerierung mit Reflexion **

qiita.java


private static Oimo getInstance02() throws Exception {
	Class<?> clazz = Class.forName("kensho01.Oimo");
	return (Oimo) clazz.newInstance();
}

Implementierungsverfahren

Implementierungsergebnisse

** 1. Normale Instanziierung **

** 2. Instanzgenerierung mit Reflexion **

Erwägung

Es ist ersichtlich, dass eine Instanzgenerierung unter Verwendung von Reflexion durchschnittlich 65,67 Millisekunden dauert, was ungefähr 20 Mal länger ist als eine normale Instanzgenerierung von 3,33 Millisekunden. Daraus ergab sich, dass die Instanziierung durch Reflexion stark ist und die Verwendung für den Quellcode des Produkts, abgesehen vom Testcode, so weit wie möglich vermieden werden sollte.

Wir sehen uns wieder (^_^) Noshi

Recommended Posts

[Java] Ist die Reflexion wirklich schwer? Leistungsvergleich
Was ist java
Was ist Java <>?
Was ist java
[Java] Kartenvergleich
Java Framework Vergleich
Der Vergleich von enum ist == und gleich ist gut [Java]
Java-Leistung Kapitel 1 Einführung
Vergleich der Java-Versionsnotation
Leistungsoptimierung für Java-Apps
Was ist Java-Kapselung?
Was ist Java-Technologie?
Was ist Java API-Java?
[Entwicklung] Java Framework Vergleich
[Java] Was ist flatMap?
Java Performance Kapitel 3 Java Performance Toolbox
[Java] Was ist ArrayList?
Ist die Kurzschlussauswertung wirklich schnell? Unterschied zwischen && und & in Java