类加载器
负责将class文件加载到内存中,并为之生成对应的class对象
BootStrap ClassLoader --根类加载器
--也称 引导类加载器,负责java的和心累的加载,
比如 system
Extension ClassLoader 扩展类
负责jre的扩展目录中jar的加载
在jdk中jre的lib目录下ext目录
System ClassLoader(系统类加载器)
负责在jvm启动时加载来自java命令的class文件
以及calsspath环境变量所指定的jar包和类路径
------------------------------------------------------------
反射:
Class 拿的字节码文件!
通class.forname(类全路径)
构造有参对象
通过反射获取成员变量并使用:
通过反射越过泛型检查:
通过破解字节码文件得知,ArraylList<>泛型编译时并没有泛型 而是强制转换了
定义一个方法通用对象设置某个对象的指定值:
动态代理:
--- 例如 买房子 找中介,在程序运行中找一个代理对象
代码记录:
主代码: