在JVM中表示两个class对象是否是同一个类存在两个必要条件:
换句话说,在JVM中,即使这两个类对象(class对象)来源于同一个class文件,被同一个虚拟机加载,但只要加载他们的ClassLoader实例对象不同,那么这两个类对象也是不相同的
JVM必须知道一个类是由启动类加载器还是用户类加载器加载的。
如果一个类是由用户类加载器加载的,那么JVM会将这个类加载器的一个引用作为类信息的一部分保存在方法区中。
类的主动使用和被动使用
主动使用
被动使用
除了主动调用的七种情况,其他使用Java类的方式都被看做是对类的被动使用,都不会导致类的初始化
原文:https://www.cnblogs.com/xiaopan-cp9/p/13639895.html