首页 > 其他分享 >JVM类加载器

JVM类加载器

时间:2024-05-29 17:13:52浏览次数:15  
标签:委派 jre 自定义 双亲 JVM 加载

什么是类加载器

JVM只会字节码文件,类加载器的作用就是将字节码文件加载到JVM中,从而让Java程序能够启动起来。

类加载器有哪些

启动类加载器(BootStrap ClassLoader):加载JAVA HOME/jre/ib目录下的库。
扩展类加载器(ExtClassLoader):主要加载JAVA HOME/jre/lib/ext目录中的类。
应用类加载器(AppClassLoader):用于加载classPath下的类。
自定义类加载器(CustomizeClassLoader):自定义类继承ClassLoader,实现自定义类加载规则。

什么是双亲委派模型

加载某一个类,先委托上一级的加载器进行加载,如果上级加载器也有上级,则会继续向上委托,如果该类委托上级没有被加载,子加载器尝试加载该类。

JVM为什么采用双亲委派机制

通过双亲委派机制可以避免某一个类被重复加载,当父类已经加载后则无需重复加载,保证唯一性。
为了安全,保证类库API不会被修改。

标签:委派,jre,自定义,双亲,JVM,加载
From: https://www.cnblogs.com/worshipone/p/18220681

相关文章

  • QGIS开发笔记(三):Windows安装版二次开发环境搭建(下):将QGis融入QtDemo,添加QGis并加载tif遥
    前言  使用QGis的目的是进行二次开发,或者说是融入我们的应用(无人车、无人船、无人机),本片描述搭建QGis二次基础开发环境,由于实在是太长了,进行了分篇:上半部分:主要是安装好后,使用QtCreator可以使用QGIs的apps下的Qt使用对应的编译器编译不带qgis的空工程。下半部分:在上半......
  • k8s subpath解决加载配置覆盖原目录问题,configmap与secret热更新
    问题:传统上直接挂载会直接覆盖原目录问题还原挂载配置 重启容器挂了 进入容器查看文件不见了,只剩下挂载文件了,目录被覆盖了问题解决subpath:1、当挂载目录存在多个文件,不会覆盖所有文件;2、挂载单个文件而不是整个目录。修改配置subpath热更新问题:1.cm或secret以......
  • JVM方法区
    解释一下方法区方法区(MethodArea)是各个线程共享的内存区域,主要存储类的信息、运行时常量池。虚拟机启动的时候创建,关闭虚拟机时释放。如果方法区域中的内存无法满足分配请求,则会抛出OutOfMemoryError:Metaspace。介绍一下运行时常量池常量池可以看作是一张表,虚拟机指令根......
  • 在 Vue 3 中如何实现代码拆分和懒加载?
    在现代开发中,前端应用越来越复杂,同时用户期望应用能够迅速响应。为了解决加载速度问题,前端框架如Vue3提供了代码拆分和懒加载功能。这不仅能提升性能,还能增强用户体验。接下来,我们将详细介绍在Vue3中如何实现代码拆分和懒加载。什么是代码拆分和懒加载?代码拆分(Code......
  • JVM 垃圾收集器分类
    参考官网https://docs.oracle.com/en/java/javase/17/gctuning/introduction-garbage-collection-tuning.html。垃圾收集器可以分为以下四类:1、Serial收集器这个收集器是一个单线程工作的收集器,但它的“单线程”的意义并不仅仅是说......
  • 深入解析Java类加载机制:原理、过程与实践
    深入解析Java类加载机制:原理、过程与实践Java的类加载机制是Java虚拟机(JVM)运行时环境的核心组件,它决定了Java类和接口的加载、连接和初始化方式。这一机制不仅确保了应用程序的安全性和稳定性,还提供了灵活的动态加载能力,使得Java程序能够在运行时加载和使用外部类。这篇文......
  • 类加载与双亲委派模型(重点!)
    1.1类的生命周期类在内存中完整的生命周期:加载-->使用-->卸载。其中加载过程又分为:装载、链接、初始化三个阶段1.2 类的加载过程(重点,背也要背下来)当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载、链接、初始化三个步骤来对该类进行初始化。如果没有......
  • bert模型数据集加载方式
    数据集构造无论是机器学习还是深度学习对于数据集的构造都是十分重要。现记录一下PyTorch的torch.utils.data.Dataset类的子类。Dataset类是PyTorch框架中用于处理数据的基本组件,它允许用户定义自己的数据集类,以满足特定任务的需求。Dataset是一个抽象基类,用于创建自......
  • JVM调优维护常用工具之VisualVM 可视化优化工具
    VisualVM是一个工具,它提供了一个可视界面,用于查看Java虚拟机(JavaVirtualMachine,JVM)上运行的基于Java技术的应用程序(Java应用程序)的详细信息。VisualVM对JavaDevelopmentKit(JDK)工具所检索的JVM软件相关数据进行组织,并通过一种使您可以快速查看有关多个......
  • 【JVM】——类的生命周期——连接阶段和初始化阶段
    【喜欢的话可以一键三连+关注哦~】你的三连+关注是对我最大的支持!之后也会继续更新本专栏呦~~连接阶段验证:验证内容是否满足《Java虚拟机规范》(这个阶段程序员一般不需要参与)准备:给静态变量(static)分配内存并设置初始值final修饰的基本数据类型的静态变量,准备阶段直接......