Je voulais utiliser la réflexion lors de la création de la classe de base, mais était-ce vraiment lourd parce que j'avais l'information que la réflexion était lourde? Je voulais savoir à quel point c'était lourd, alors je l'ai mesuré.
** 1. Instanciation normale **
qiita.java
private static Oimo getInstance01() throws Exception {
return new Oimo();
}
** 2. Génération d'instances à l'aide de la réflexion **
qiita.java
private static Oimo getInstance02() throws Exception {
Class<?> clazz = Class.forName("kensho01.Oimo");
return (Oimo) clazz.newInstance();
}
** 1. Instanciation normale **
--Première fois: 4 millisecondes --Deuxième fois: 3 millisecondes --Troisième fois: 3 millisecondes --Moyenne: 3,33 millisecondes
** 2. Génération d'instances à l'aide de la réflexion **
--Première fois: 63 millisecondes --Deuxième fois: 69 millisecondes --Troisième fois: 65 millisecondes --Moyenne: 65,67 millisecondes
On peut voir qu'il faut en moyenne 65,67 millisecondes pour une génération d'instance utilisant la réflexion, ce qui est environ 20 fois plus longue qu'une génération d'instance normale de 3,33 millisecondes. À partir de là, il a été constaté que l'instanciation utilisant la réflexion est lourde et que l'utilisation du code source du produit doit être évitée autant que possible, en dehors du code de test.
A bientôt (^_^) Noshi
Recommended Posts