反射中,Class-forName-和-ClassLoader的区别

javaclass.forName()classLoader都可用来对类进行加载。
class.forName()除了将类的.class文件加载到jvm中之外,还会进行Link操作,执行类中的static块。
classLoader只是将.class文件加载到jvm中,不会执行static中的内容,只有在newInstance才会去执行static块。
Class.forName(name, initialize, loader)带参函数也可控制是否加载static块。并且只有调用了newInstance()方法采用调用构造函数

你可能感兴趣的:(反射中,Class-forName-和-ClassLoader的区别)