【面试题精讲】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多平台发布

相关推荐
雨师@13 小时前
go语言项目--实例化(图书管理)--005
开发语言·后端·golang
Aspiresky13 小时前
探索Rust语言之引用
开发语言·后端·rust
冰暮流星13 小时前
flask之app.py讲解
后端·python·flask
程序员契奇14 小时前
Tools工具使用
人工智能·后端
IT_陈寒14 小时前
SpringBoot自动配置没生效?你可能漏了这个注解
前端·人工智能·后端
长明14 小时前
C#项目组织与概念梳理
后端·c#
xn713314 小时前
个人网站站外分发怎么做归因?我给 XBSTACK 补了一套 UTM 追踪规则
后端·低代码
用户23307130747914 小时前
JUC 并发容器与工具
后端
冰暮流星14 小时前
flask之模版渲染
后端·python·flask
威武的花瓣15 小时前
细说ASP.NET的各种异步操作
后端·asp.net·php