栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 面试经验 > 面试问答

JVM的类加载机制主要有哪几种?

面试问答 更新时间:发布时间: 百科书网 趣学号
类加载过程:

(1)装载
  装载过程负责找到二进制字节码并加载至JVM中,JVM通过类名、类所在的包名通过ClassLoader来完成类的加载,同样,也采用以上三个元素来标识一个被加载了的类:类名+包名+ClassLoader实例ID。
(2)链接
  链接过程负责对二进制字节码的格式进行校验、初始化装载类中的静态变量以及解析类中调用的接口、类。在完成了校验后,JVM初始化类中的静态变量,并将其值赋为默认值。最后一步为对类中的所有属性、方法进行验证,以确保其需要调用的属性、方法存在,以及具备应的权限(例如public、private域权限等),会造成NoSuchMethodError、NoSuchFieldError等错误信息。
(3)初始化
  初始化过程即为执行类中的静态初始化代码、构造器代码以及静态属性的初始化,在四种情况下初始化过程会被触发执行:调用了new;反射调用了类中的方法;子类调用了初始化;JVM启动过程中指定的初始化类。

加载:

引导类加载器:使用C语言实现,嵌套在jvm内部用于加载java核心类库,只加载java javax sun等开头文件没有父类加载

扩展类加载器:java语言实现用于加载java系统属性指定目录下的类库,父类加载器为引导类加载器

系统类加载器:Java语言实现用于加载环境变量classpath或系统属性指定路径下的类库,父类为扩展类加载器

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/594621.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号