反射中,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()方法采用调用构造函数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容