之所以能获取该类的方法和属性,必须要获取该class对象,然后前提是必须获取该文件的字节码对象。
类从编译到执行的过程:
ClassLoader在Java中有着非常重要的作用,它主要工作在Class装载的加载阶段,其主要作用是从系统外部获得Class二进制数据流。
它是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过将Class文件里的二进制数据流装载进系统,然后交给Java虚拟机进行连接、初始化等操作。
java.*
javax.*
,用户可见。关键函数:
findclass
、defineclass
同样都能知道任意方法和属性,但是发生的位置不同。
PS:连接MySQL数据库应该调用forName,创建数据库驱动 Spring中资源加载器要获取要读入的资源时,读写bean的配置文件时,如果是以classpath的方式加载,就需要使用Classloder.loadClass,之所以这样做,和Spring AOC的lazy loading有关,延迟加载,为了加快类的初始化速度,加快加载速度。