1.类的加载顺序:.java源文件(磁盘) -> javac编译器 -> .class文件(磁盘) -> java解释器------>JVM内存
2.类的加载(加载.class文件)
1)通过一个类的全限定名获取定义此类的二进制字节流。
2)将这个字节流所代表的静态存储结构转换为方法区运行时数据结构。 3)在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问的入口。
3.类加载器:先识别字节码文件
文件类型:后缀名+魔数(一种文件一个专门魔数)
判断两个类是否相等需要具备2个条件:
1)类名必须完全一致。
2)在类名完全一致的情况下,还需要关注这2个类的类加载器是否一致。如果即使它们的类名完全相同,但是如果它们的类加载器不同,它们也不能是相同的类。
4.类初始化的顺序: 静态变量 静态块 实例变量 实例块 构 造函数
5.类的加载
过程:分为三步
装载阶段(Loading)
JVM自带的类加载器。
ClassLoader classLoader = Demo1.class.getClassLoader();
System.out.println(classLoader);
ClassLoader parent = classLoader.getParent();
System.out