![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
反射
文章平均质量分 84
一颗洛米
此生若能得幸福安稳, 谁又愿颠沛流离
展开
-
反射_Class
Java ReflectionReflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。java反射机制提供的功能1)在运行时判断任意一个对象所属的类2)在运行时构造一个类的对象3)在运行时判断任意一个类所具有的成员变量和方法4)在运行时调用任意一个对象的成员变量和方法5)生成动态代理...原创 2018-07-09 13:29:28 · 157 阅读 · 0 评论 -
反射_类加载器
类的加载过程当程序主动使用某个类的时候,如果该类还没有被加载到内存中,则系统会通过如下步骤对类进行初始化。ClassLoader类加载器是用来把类(class)装载进内存的。JVM规范定义了两种规范的类加载器:启动类加载器(bootstrap)和用户自定义加载器(user-defined class loader)。JVM在运行时会产生3个类加载器组成的初始化加载器层次结构。如下:/** * 关...原创 2018-07-09 16:23:28 · 186 阅读 · 0 评论 -
反射_通过反射获取类的完整结构
获取运行时类的属性public class TestFields { /** * 获取运行时类属性 */ @Test public void test1(){ //获取运行时类 Class clazz = Person.class; //1、getFields()只能获取到运行时类及其父类中声明为publi...原创 2018-07-09 16:23:34 · 527 阅读 · 0 评论 -
反射_通过反射调用类中指定方法、属性
一、调用指定方法通过反射,调用类中的方法,通过Method类完成。步骤:1、通过Class类的getMethod(String name,Class.......parameterTypes)方法取得一个Method对象,并设置此方法操作时所需要的参数类型。2、使用Object invoke(Object obj,Object[ ] args)进行调用,并向方法中传递要设置的obj对象的参数信息。...原创 2018-07-09 17:30:23 · 6700 阅读 · 0 评论 -
反射_应用:Java动态代理
动态代理特别重要,Java的框架都爱这玩意儿!!!Java动态代理动态代理是指客户通过代理类来调用其它对象的方法,并且是在程序运行时根据需要动态创建目标类的代理对象。动态代理使用场合:1)调式2)远程方法调用代理设计模式的原理:使用一个代理将对象包装起来,然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。动态代理之前先说一个静态代理的...原创 2018-07-09 19:44:23 · 160 阅读 · 0 评论 -
反射_动态代理和AOP
最理想的效果是:代码块1、2、3既可以执行方法A,又无须在程序中以硬编码的方式直接调用深色代码的方法interface Human { void info(); void fly();}//被代理类class Superman implements Human { @Override public void info() { System...原创 2018-07-09 23:03:03 · 254 阅读 · 0 评论