介绍
本篇文章给大家分享的是有关Java中怎么利用反射获取类方法速率,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强>反射介绍强>
Java反射是指在程序运行状态中,能检查任意对象的内容并调用任意方法。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。
<强>测试代码强>
反射调用的类
public class ClassA { ,,,private String 名称; ,,,public void setName (String 名称),{ ,,,,,,,this.name =,名称; ,,,} }
测试主类
import lombok.extern.slf4j.Slf4j; import java.lang.reflect.Method; @Slf4j public class  MapMain { ,,,private static final int COUNT =, 100000; ,,,public static void main (String [], args), { ,,,,,,,System.out.println (“starting …“); ,,,,,,,long start =, System.currentTimeMillis (); ,,,,,,,for (int 小姐:=,0;,小姐:& lt;,计数;,我+ +),{ ,,,,,,,,,,,ClassA clzA =, new ClassA (); ,,,,,,,,,,,clzA.setName (“A", +, i); ,,,,,,,} ,,,,,,,long 最终获得=,System.currentTimeMillis (); ,,,,,,,long diff =,最终获得成功;开始; ,,,,,,,System.out.println (“native 叫:“,+,diff); ,,,,,,,try { ,,,,,,,,,,,long start2 =, System.currentTimeMillis (); ,,,,,,,,,,,for (int 小姐:=,0;,小姐:& lt;,计数;,我+ +),{ ,,,,,,,,,,,,,,,Class clzA =, forname (“com.yq.myreflect.ClassA"); ,,,,,,,,,,,,,,,Class<?在[],argsType =, new 类[1]; ,,,,,,,,,,,,,,,argsType [0],=, String.class; ,,,,,,,,,,,,,,,Method m =, clzA.getMethod (“setName",, argsType); ,,,,,,,,,,,,,,,Object obj =, clzA.newInstance (); ,,,,,,,,,,,,,,,m.invoke (obj,“A", +, i); ,,,,,,,,,,,} ,,,,,,,,,,,long end2 =, System.currentTimeMillis (); ,,,,,,,,,,,long diff2 =, end2 作用;start2; ,,,,,,,,,,,System.out.println (“reflect 叫:“,+,diff2); ,,,,,,,},catch (Exception 交货),{ ,,,,,,,,,,,ex.printStackTrace (); ,,,,,,,} ,,,,,,,try { ,,,,,,,,,,,long start3 =, System.currentTimeMillis (); ,,,,,,,,,,//缓存类,避免多次查找 ,,,,,,,,,,,Class clzA =, forname (“com.yq.myreflect.ClassA"); ,,,,,,,,,,,Class<?在[],argsType =, new 类[1]; ,,,,,,,,,,,argsType [0],=, String.class; ,,,,,,,,,,,//缓存方法,避免多次查找 ,,,,,,,,,,,Method m =, clzA.getMethod (“setName",, argsType); ,,,,,,,,,,,for (int 小姐:=,0;,小姐:& lt;,计数;,我+ +),{ ,,,,,,,,,,,,,,,Object obj =, clzA.newInstance (); null null null null null null null null null null null null null null null null null null nullJava中怎么利用反射获取类方法速率