类加载机制与反射
(一)类的加载,连接和初始化
1,一个main函数相当于调用一个jvm进程,main函数结束其内存数据清除
2,类加载(类初始化)三个步骤:
1:类的加载:
2,类的连接:
3,类的初始化:
(二)类加载器
1,Bootstrap ClassLoader:根类加载器(非ClassLoder子类,jvm提供)
2,Extension ClassLoader:扩展类加载器 负责加载JRE中的类
3,System ClassLoader:系统类加载器 ClassPath环境变量指定的JAR包和类路径
4,用户自定义类(自底向上优先)
5,类加载机制:先缓存找,再父类找,最后全盘找
(三),通过反射查类信息和操控对象
1,查看类信息:通过Class clazz=类名.class;然后调用clazz来查看类信息
2,通过反射机制创建对象方法
3,获取类中成员变量,同生产的对象。getDeclazredField(object)获取成员变量 ,返回Field类型,再通过Field.set/get方法改变值
(四),使用反射生产JDK动态代理
1,使用Proxy和InvocationHandler创建动态代理
Java测试代码:(处理事件在invork上)