JVM类加载机制,什么是类的加载?

KLQ 2020-04-24 09:18:40 java常见问答 6876

前面带大家深入的理解了一下什么是JVM,那么下面就要给大家介绍一下JVM类加载机制,那么究竟类的加载是什么呢?

一、什么是JVM类加载机制?

首先我们简单的来了解一下,JVM类加载机制。

虚拟机将描述类的数据从class文件加载到内存,并且,对数据进行校验、转换解析和初始化,最终,形成了能够被JVM直接使用的Java类型,那么这就是所谓的JVM类加载机制。

其实JVM类加载机制还是比较好理解的,下面再来深入的剖析一下JVM类加载机制。

二、类加载过程

看看下图

JVM类加载机制

总的来说一共经历了四个阶段,这四个阶段分别是加载、连接、初始化、使用。

在这四个阶段当中,连接又涵盖了验证、准备、解析这3个步骤。

但是要注意了,Java语言本身支持运行时绑定,所以说,解析阶段也可以是在初始化之后进行的。

除此之外,还要注意,上面的这些顺序,说的都只是开始的顺序,但是,实际上来说的话,过程是交叉进行的,加载过程当中,很有可能验证就已经开始了。

三、类加载时机

JVM规定了类必须进行初始化的五种情况

可以从下图来了解一下

JVM类加载机制

注意,在这五种情况当中,1当中的4条字节码指令在Java里最常见的场景为:

1、new一个对象时

2、 调用一个类的静态方法

3、 set或者get一个类的静态字段

JVM类加载机制大家都了解了吗?希望可以帮助到你。

想学习关于java架构师的相关内容,你可以继续的关注java架构师专栏进行了解哦。