- 所有jvm在每个类或者接口被java程序首次主动使用才初始化他们。
- 加载详解:
将加载得到的二进制数据放到内存里面,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区的数据结构。
3.类的加载器是继承结构的。根类加载器(BootStrap)扩展类加载器(Extension)系统类加载器(应用加载器System)ExtClassLoader AppClassLoader
4.用户自定义加载器java.lang.ClassLoader的子类
clazz.getClassLoader(),如果clazz是跟类加载器,那么结果为null,因为根类加载器是C++写的,为了安全sun不给你看。
类加载器不会等哪个类首次主动使用时候才去加载,类加载器会预先加载他,等你使用时候不用加加载了,可是呢,当他找不到这个.class这个时候,也不立刻说错了,而是等你用的时候,他才说错,你不用他就是不说。LinkageError.