从头开始学JVM--------Java类加载

一、类加载

        在加载阶段,虚拟机需要完成三件事。

(1)通过类全限定名,获取此类的二进制字节流

(2)将此字节流加载进方法区。

(3)在Java堆中生成一个此类的java.lang.Class对象,作为方法区这些数据的访问入口。

二、强制类初始化

        用new关键字

        调用一个类的静态成员(不包括使用final修饰的常量,因为常量在编译阶段就已经被存放到了方法区中)

        使用反射初始化一个对象。

三、双亲委派模型

        双亲委派模型要求除了顶层的启动类加载器之外,其余的类加载器都应当有自己的父类加载器。

        双亲委派模型的工作过程是:如果一个类收到了类加载的请求,首先不会自己去尝试加载这个类,而是把这个请求委派给父加载器去完成。每个层次的类加载器都是如此,因此所有的加载请求,最终会传递到顶层的启动类加载器。只有父加载器无法加载这个类的时候,加载器才会自己尝试去加载。

 

 

posted @ 2022-07-17 12:14  小大宇  阅读(16)  评论(0编辑  收藏  举报