关于类加载的问题
来源:6-7 loadClass和forName的区别
toms123
2020-08-25
老师您在11.16分说的。类的初始化工作留在实际使用到这个类的时候再去做,那classloader的工作是什么?是给初始化提供素材,把需要加载的比如说配置文件都加载好,等初始化工作的时候就一步到位,就是把classloader和class.formane的工作分开,不用太费时间是吗?
第二个问题class.forname的延迟加载是什么意思,延迟加载什么,等待classloader的工作完成吗
写回答
1回答
-
翔仔
2020-08-26
同学好,classloader和forname都是为了加载类的,也就是从class文件中加载到jvm中,生成对应于该class文件的class对象(并非class对象new出来的实例)。两者的区别是classloader只是完成加载,而forname在加载后还会执行静态代码块,两者都是延迟加载,也就是用到某个类的时候再去加载这个类。
00
相似问题