类加载的过程 类加载过程包括 5 个阶段:加载、验证、准备、解析和初始化。 加载 加载的过程 “加载”是“类加载”过程的一个阶段,不能混淆这两个名词。在加载阶段,虚拟机需要完成 3 件事: 通过类的全限定名获取该类的二进制字节流。 将二进制字节流所代表的静态结构转化为方法区的运行时数据结构。 在内存中创建一个代表该类的 java.lang.Class 对象,作为方法区这个类的各种数据的访问入口。 获取二进制字节流 对于 Class 文件,虚拟机没有指明要从哪里获取、怎样获取。除了直接从编译好的 .class 文件中读取,还有以下几种方式: 从 zip 包中读取,如 jar、war 等; 从网络中获取,如 Applet; 通过动态代理技术生成代理类的二进制字节流;