Class.forName和ClassLoader

(1)ClassLoader是用来加载类数据的(加载的方式由具体的加载器决定)。类加载器根据类的全限定名加载类的二进制字节流,然后将字节流转换成jvm方法区中的运行时数据结构,并在方法区生成一个代表该类的Class对象作为访问入口(单例的)。
(2)Class.forName方法会首先获取调用对象的类加载器,并利用该加载器根据类的全限定名加载类数据,并根据boolean initialize字段决定是否对该对象进行初始化(默认进行初始化,自然会先进行验证、准备、解析过程)。

发布了477 篇原创文章 · 获赞 588 · 访问量 267万+

猜你喜欢

转载自blog.csdn.net/qq_15037231/article/details/100857487
今日推荐