【面试题精讲】JVM-类加载器-类加载器分类

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

首发博客地址

全网最细面试题手册,支持艾宾浩斯记忆法


类加载器的分类是指 Java 虚拟机中不同的类加载器,它们负责将 Java 类加载到内存中,并将其转换为 Java 对象。根据类加载器的来源和功能,可以将类加载器分为以下几种:

  • 启动类加载器:这是由 C/C++语言实现的,嵌套在 JVM 内部的类加载器。它用来加载 Java 的核心库,即 JAVAHOME/jre/lib 目录下的 jar 包,或者 sun.boot.class.path 系统属性所指定的路径下的类库。它是所有其他类加载器的父类加载器,但它并不继承自 java.lang.ClassLoader 类。
  • 扩展类加载器:这是由 Java 语言实现的,继承自 java.lang.ClassLoader 类。它用来加载扩展目录下的类库,即 JAVAHOME/jre/lib/ext 目录下的 jar 包,或者 java.ext.dirs 系统属性所指定的路径下的类库。它的父类加载器是启动类加载器。
  • 应用程序类加载器:这也是由 Java 语言实现的,继承自 java.lang.ClassLoader 类。它用来加载应用程序目录下的类库,即 classpath 或者 java.class.path 系统属性所指定的路径下的类库。它是程序中默认的类加载器,一般来说,Java 应用的类都是由它来完成加载。它的父类加载器是扩展类加载器。
  • 自定义类加载器:这是由用户自己编写的,继承自 java.lang.ClassLoader 或者其子类。它可以根据用户的特定需求来定制类的加载方式,例如从网络、数据库或者加密文件中加载类。它可以选择是否遵循双亲委派模型,即是否先让父类加载器尝试加载请求的类。

以上就是我对于类加载器的分类的回答,希望对你有所帮助。😊

源: 与必应的对话, 2023/10/24 (1) 「JVM 篇」类加载器的三种分类及双亲委派模式原理 .... zhuanlan.zhihu.com/p/187549718. (2) 类加载器的分类及关系 - CSDN 博客. blog.csdn.net/qq_33626996.... (3) 类加载器的分类 ClassLoader - 八度易飞 - 博客园. www.cnblogs.com/wenqidao/p/....

本文由mdnice多平台发布

相关推荐
码视野3 分钟前
基于 Spring Boot + Vue3 的【智慧公厕微负压排风除臭与客流人感空间占用导引中台】设计与实现(含PRD/三端高保真源码/大屏)
前端·vue.js·人工智能·spring boot·后端
ERD Online16 分钟前
Cursor 连上 MCP:读一张 ER 图,提交一版建议
数据库·后端·开源·cursor·mcp
思考着亮22 分钟前
4.依赖注入_Depends用法_四大应用场景_Yield生成器原理.
后端
思考着亮28 分钟前
3.全局中间件_洋葱模型执行机制_跨域CORS配置
后端
思考着亮43 分钟前
5.数据库ORM_连接池_自动事务_增删改查高级语法与字典解包
后端
叫我:松哥1 小时前
基于flask仿小米商城管理系统,使用flask开的一个商场网站
数据库·后端·python·flask
Wang's Blog1 小时前
Vibe Coding一人即团队系列35: 基于Claude Code的Spring Boot项目初始化实践
java·spring boot·后端
2601_962065252 小时前
从零创建一个 Django 项目
后端·python·django
Elastic 中国社区官方博客2 小时前
从建议到修复的 4 个阶段:使用 Elastic Workflows 实现人在回路中的自动化
运维·数据库·人工智能·后端·elasticsearch·ai·自动化
码视野2 小时前
基于 Spring Boot + Vue3 的【城市地下燃气管网微泄漏感知与相邻地下空间燃爆预警中台】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端