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

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

类加载器的分类是指 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 篇」类加载器的三种分类及双亲委派模式原理 .... https://zhuanlan.zhihu.com/p/187549718. (2) 类加载器的分类及关系 - CSDN 博客. https://blog.csdn.net/qq_33626996/article/details/112847648. (3) 类加载器的分类 ClassLoader - 八度易飞 - 博客园. https://www.cnblogs.com/wenqidao/p/14390136.html.

本文由 mdnice 多平台发布


相关文章
|
19天前
|
监控 算法 Java
JVM相关面试题
JVM相关面试题
31 1
|
19天前
|
前端开发 安全 Java
深入浅出JVM(八)之类加载器
深入浅出JVM(八)之类加载器
|
3天前
|
机器学习/深度学习 算法 数据挖掘
深度学习面试问题目录 | 深度学习目标检测、语义分割、分类上百种面试问答技巧
这篇文章汇总了深度学习面试,特别是目标检测领域的常见问题,提供了一个详细的目录大纲,便于读者直接跳转至答案。通过理解和解答这些问题,求职者能展示其在深度学习专业的知识、解决问题的能力及对应用的理解,从而提高面试成功率和竞争力。包含多个专题,如损失函数、Python解释器、经典网络、YOLO系列、激活函数等。
|
13天前
|
设计模式 NoSQL Java
京东面试:如何进行JVM调优?
JVM 调优是一个很大的话题,在回答“如何进行 JVM 调优?”之前,首先我们要回答一个更为关键的问题,那就是,我们为什么要进行 JVM 调优? 只有知道了为什么要进行 JVM 调优之后,你才能准确的回答出来如何进行 JVM 调优? 要进行 JVM 调优无非就是以下两种情况: 1. **目标驱动型的 JVM 调优**,如,我们是为了最短的停顿时间所以要进行 JVM 调优,或者是我们为了最大吞吐量所以要进行 JVM 调优等。 2. **问题驱动型的 JVM 调优**,因为生产环境出现了频繁的 FullGC 了,导致程序执行变慢,所以我们要进行 JVM 调优。 所以,针对不同的 JVM 调
28 1
|
18天前
|
Java 数据库连接 Spring
K8S+Docker理论与实践深度集成java面试jvm原理
K8S+Docker理论与实践深度集成java面试jvm原理
|
19天前
|
存储 监控 安全
21个 JVM 技术点详解(附面试解答)
以上V哥给大家详细介绍了 JVM 中涉及的21个点,全网还没有针对 JVM 这样来梳理的内容,希望对你深入了解 JVM 有一定帮助,另,V 哥给大家推荐一本《深入 JVM 虚拟机》的书籍,可以作为工具书使用,高阶的 Java 程序员几乎人手一本。今天的分享就到这里,任何疑问欢迎与 V 哥一起交流,畅谈 Java 人生。
|
19天前
|
前端开发 Java 开发者
JVM类加载器的分类以及双亲委派机制
JVM类加载器的分类以及双亲委派机制
|
19天前
|
监控 前端开发 安全
JVM工作原理与实战(十四):JDK9及之后的类加载器
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了JDK8及之前的类加载器、JDK9及之后的类加载器等内容。
38 2
|
19天前
|
监控 Java 关系型数据库
JVM工作原理与实战(十三):打破双亲委派机制-线程上下文类加载器
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了打破双亲委派机制的方法、线程上下文类加载器等内容。
30 2
|
19天前
|
监控 安全 前端开发
JVM工作原理与实战(十二):打破双亲委派机制-自定义类加载器
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了打破双亲委派机制的方法、自定义类加载器等内容。
23 1