当前位置: 首页 > news >正文

虚拟机的三个核心类加载器


虚拟机的三个核心类加载器

在Java虚拟机(JVM)中,类加载器(ClassLoader)负责将类的字节码加载到内存中,并生成对应的Class对象。以下是三个核心类加载器的详细说明:


1. 启动类加载器(Bootstrap ClassLoader)
  • 职责
    加载Java核心类库(如java.langjava.util等),位于<JAVA_HOME>/jre/lib目录下的rt.jarresources.jar等。
  • 特点
    • 由C/C++实现,是JVM的一部分,无法在Java代码中直接访问。
    • 父加载器为null(位于类加载器层级的最顶层)。
  • 示例
    String.classObject.class等核心类由其加载。

2. 扩展类加载器(Extension ClassLoader)
  • 职责
    加载JRE扩展目录(<JAVA_HOME>/jre/lib/extjava.ext.dirs指定目录)中的类库。
  • 特点
    • 由Java实现,对应sun.misc.Launcher$ExtClassLoader类。
    • 父加载器为启动类加载器(但在代码中获取其父加载器会返回null)。
  • 示例
    加载javax包中的扩展类(如javax.xml

相关文章:

  • 【VBA/word】批量替换字体大小
  • 深入解析分布式数据库TiDB:原理、优化与架构实践
  • 宏汇编以及浮点程序设计实验
  • 练习小项目5:基础计算器
  • 算法竞赛 Java 高精度 大数 小数 模版
  • 2025年即时通讯APP如何抵御DDoS攻击?全链路防御方案与实战解析
  • 5.19本日总结
  • Axure跨页面交互:利用IFrame和JS实现父子页面菜单联动
  • 如何快速更换电脑浏览器ip:教程与注意事项
  • 煤化工数字化关键一步:Modbus TCP转Profinet网关实现全流程通信兼容
  • 基于 Vue 和 Node.js 实现图片上传功能:从前端到后端的完整实践
  • Ubuntu服务器部署多语言项目(Node.js/Python)方式实践
  • 学习STC51单片机07(芯片为STC89C52RC)
  • arm64适配系列文章-第八章-第二节-arm64环境上seata的部署-手动构建1.4.2版本镜像
  • 使用 NGINX 的 `ngx_http_secure_link_module` 模块保护资源链接
  • APP小程序抓包和下游代理
  • HTTP 协议基础
  • JVM 垃圾回收器
  • 魔族密码--dp+map+substr
  • uniapp vue 开发微信小程序 分包梳理经验总结
  • 4名中学生同服处方药后身体不适,一心堂一药店未凭处方售药被罚1万元
  • 新疆巴音郭楞州和硕县发生4.6级地震,震源深度10千米
  • 石家庄桥西区通报“中药液”添加安眠药问题:对医院立案调查
  • 上海这个咖啡文化节首次“走出去”,率本土品牌亮相英国伦敦
  • 天算星座二期首批卫星成功发射,将助力6G空天信息基础设施建设
  • 辽宁援疆前指总指挥王敬华已任新疆塔城地委副书记