反射:
所谓的反射就是指,在java程序运行时,获得某些对象的实际结构与类型的过程。
创建对象的方式:
- 用new调用构造方法创建对象
- 用newInstance()按照类型创建对象
- 用Class.formName()根据类名创建对象(类型必须在jar包中,不然创建不了)
类加载器:
ClassLoader:在JVM启动的过程中,把类模板加载到内存中的工具。就是将一个存在与系统文件中的.class文件,加载到当前JVM的内存中,变成java能识别的Class类型。
- 启动项加载器:由C语言完成的,当JVM第一次启动的时候,加载本地方法栈中的.so支持包
- 扩展项加载器:加载程序上面自己import导入的jar包,
- 应用加载器(ApplicatioinClassLoader):加载自己写的类
- 用户定义加载器:自己写的类加载器,可以加载任意来源的.class。