class.forName()和classLoader的区别
Class.forName 和 classLoader都可以对类进行加载。ClassLoader就是遵循双亲委派机制调用启动类的类加载器:通过一个类的全限定名来描述此二进制字节流。获取到二进制流后放入jvm当中。Class.forName()实际上也是调用ClassLoader来实现的。
区别
Class.forName()会对加载的类进行初始化,静态块里的代码会被执行,JDBC使用它的原因是因为JDBC规范中明确要求Driver(数据库驱动)类必须向DriverManager注册自己。这段代码写在静态块中。
ClassLoader只是将类加载到jvm当中,springMVC的Ioc采用的就是ClassLoader。