原创

java反射


反射

底层框架实现采用反射

1

代码入门:
   Properties properties = new Properties();
    //读取=内容
    properties.load(new FileInputStream("src/text.properties"));

    //获取信息
    String object = properties.getProperty("object");
    String method = properties.getProperty("method");

    //通过 类名获得 对象class
    Class<?> aClass = Class.forName(object); //运行类型

    //通过class 生成对象
    Object o = aClass.newInstance();

    //通过class 方法名 获取方法
    Method method1 = aClass.getMethod(method);

    //调用方法 invoke(对象)
    method1.invoke(o);

反射原理图

编写类代码,编译转成字节码,运行 类先加载到堆 运行时 找到该类,创建对象调用方法

1

反射4大类

class
reflect
field
constructor

1

反射 优化

 setAccessible(设为true) 取消访问检测

1

class类

对象放在堆 ,二进制数据放在方法区
有许多方法 可以操作对象

1

创建class对象方式

1. class.forname("里面需要全类名") 读配置文件
2. 类.class 多用于参数传递
3.对象.getclass
4.对象.getclass().getclassLoader()
5.包装类.type 

类加载

静态
动态(反射)

1

类加载流程图

1

1

dmeo反射

反射获取私有属性,爆破,修改

1

总结:

1

总结
经验
  • 作者:阿杰(联系作者)
  • 发表时间:2023-06-14T13:50:49
  • 版权声明:杰出版
  • 公众号:--无
  • 评论