在java中语言中类的加载、连接和初始化过程都是在程序运行期间完成的,因此在类加载时的效率相对编译型语言较低,除此之外,只有在任何一个类只有在运行期间使用到该类的时候才会将该类加到内存中。...()方法是由编译器自动收集类中所有的类变量的赋值动作和静态语句块(static{})中的语句合并而成。...,父类的静态语句块和静态变量优先于子类中变量赋值操作。 ...当类加载器在加载ClassA的时候,发现引用了ClassB,此时类加载如果检测到ClassB还没有被加载,则先回去加载.当ClassB加载完成后,继续回来加载ClassA.换句话说,类会通过自身对应的来加载其加载其他引用的类...JVM规定,对于任何一个类,都需要由加载它的类加载器和这个类本身一同确立在java虚拟机中的唯一性,通俗点就是说,在jvm中判断两个类是否是同一个类取决于类加载和类本身,也就是同一个类加载器加载的同一份