JVM类加载机制

网友投稿 573 2022-11-04

JVM类加载机制

JVM类加载机制

概念

虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的 java 类型,这就是类加载机制. 类加载器把class文件中的二进制数据读入到内存中,存放在方法区,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。

类加载的几个过程

​​《JVM类加载的几个过程》

特点:

1、全盘负责:当一个类加载器加载一个类时,该类所依赖的其他类也会被这个类加载器加载到内存中。 2、缓存机制:所有的Class对象都会被缓存,当程序需要使用某个Class时,类加载器先从缓存中查找,找不到,才从class文件中读取数据,转化成Class对象,存入缓存中。

类加载机制与接口:

1、 当Java虚拟机初始化一个类时,不会初始化该类实现的接口。 2、 在初始化一个接口时,不会初始化这个接口父接口。 3、 只有当程序首次使用该接口的静态变量时,才导致该接口的初始化。

类的卸载

1、 有JVM自带的三种类加载器(根、扩展、系统)加载的类始终不会卸载。因为JVM始终引用这些类加载器,这些类加载器使用引用他们所加载的类,因此这些Class类对象始终是可到达的。 2、 由用户自定义类加载器加载的类,是可以被卸载的。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:@Transactional遇到try catch失效的问题
下一篇:JVM类加载器和双亲委派模型
相关文章

 发表评论

暂时没有评论,来抢沙发吧~