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

【JVM-类加载器】

时间:2024-08-22 10:23:42浏览次数:11  
标签:类库 Java 自定义 ClassLoader JVM 目录 加载

在 JVM 中主要有以下几种类加载器:

一、启动类加载器(Bootstrap ClassLoader)

  1. 作用:

    • 负责加载 JVM 自身需要的核心类库,这些类库主要是 Java 安装目录下的 jre/lib 目录中的类。
    • 例如,加载 Java 的核心类库如 java.lang 包下的类,包括 ObjectString 等。
  2. 特点:

    • 由 C/C++ 语言实现,在 Java 中无法直接获取到启动类加载器的引用。
    • 是最顶层的类加载器,它没有父类加载器。

二、扩展类加载器(Extension ClassLoader)

  1. 作用:

    • 负责加载 Java 的扩展类库,这些类库位于 Java 安装目录下的 jre/lib/ext 目录或者由系统变量 java.ext.dirs 指定的目录中。
    • 例如,加载一些第三方的扩展库或者自定义的扩展类。
  2. 特点:

    • 由 Java 语言实现,它的父类加载器是启动类加载器。

三、应用程序类加载器(Application ClassLoader)

  1. 作用:

    • 也称为系统类加载器,负责加载应用程序的类路径(classpath)下的类。
    • 通常是我们开发的 Java 应用程序中的类都由这个类加载器加载。
  2. 特点:

    • 由 Java 语言实现,它的父类加载器是扩展类加载器。

除了这三个主要的类加载器外,用户还可以自定义类加载器,用于实现特定的类加载逻辑,比如从特定的网络位置、数据库或者加密存储中加载类。自定义类加载器通过继承 java.lang.ClassLoader 类来实现。

标签:类库,Java,自定义,ClassLoader,JVM,目录,加载
From: https://blog.csdn.net/weixin_43933594/article/details/141421618

相关文章

  • js面试题 图片懒加载!
    一、原理只加载可视区域内的图片,而那些还未滑动到可视区域的图片先不加载,直到用户滚动到这些资源即将可见的时候才进行加载。若一个页面有大量的图片资源,网页首次打开时,若同时加载完这些资源,需要消耗大量的时间,利用图片懒加载,先加载部分图片,既不会影响用户体验,又能大幅提升首......
  • js 手写图片懒加载插件
    一、目标模仿vue-lazyload插件只需将img标签的src属性名替换为自定义属性v-lazy,即可实现图片懒加载功能例如:二、实现不清楚图片懒加载原理的参考我的上一篇博客1.封装自定义插件:暴露一个对象,包含一个install方法先介绍一下自定义插件使用方法和通用写法://main.jsimp......
  • 【jvm】栈和堆的区别
    目录1.用途2.线程共享性3.内存分配和回收4.生命周期5.性能特点1.用途1.堆:主要用于存储对象实例和数组。在Java中,所有通过new关键字创建的对象都会被分配到堆上。堆是一个大的内存池,用于存储所有的Java对象,包括实例变量和数组。2.栈:主要用于存储局部变量、......
  • 「OC」视图控制器的懒加载策略
    「OC」视图控制器的懒加载策略文章目录「OC」视图控制器的懒加载策略懒加载懒加载的优点常见的懒加载实现方法使用懒加载的注意事项控制器的懒加载参考资料懒加载懒加载(LazyLoading)是一种设计模式,其核心思想是在需要时才进行对象的创建或资源的加载,而不是在对象......
  • JVM
    JVM是什么:是操作系统上Java运行的环境。JVM内存结构模型:调优和垃圾回收都是在堆里的   双亲委派:各种类加载器是层级关系,Java文件首先会给父类加载,类加载器实际上就是很多jar包,每个类加载器会检查自己的jar包是否可以处理Java文件,不可以会给下一层,如果都不可以就会抛出异......
  • X-anylabeling如何手动加载(自定义)模型 : 以Segment Anything 为例
    提示:文章目录前言1手动下载模型至软件默认读取路径2加载自定义模型假设你已有模型(.pth),如何进行导出安装导出工具导出你的模型,在标注软件中加载模型打开软件,加载‘自定义’模型。并选择上面提到的配置文件X-anylabeling源码安装过程中遇到的问题GPU环境问题opencv......
  • 深入Java虚拟机JVM类加载学习笔记
    1.类加载过程----------以及风中叶老师在他的视频中给了我们一段程序,号称是世界上所有的Java程序员都会犯的错误加载---验证---准备---解析---初始化---使用---卸载诡异代码如下:packagetest01;classSingleton{ publicstaticSingletonsingleton=newSingleton();......
  • 《刺客信条:英灵殿》丢失d3d12.dll:如何快速定位并解决《刺客信条:英灵殿》中的DLL加载问
    《刺客信条:英灵殿》(Assassin'sCreedValhalla)是一款备受欢迎的动作角色扮演游戏,但在启动或运行过程中,一些玩家可能会遇到“d3d12.dll文件丢失”的错误提示。这个问题通常意味着游戏无法找到所需的动态链接库(DynamicLinkLibrary,DLL)文件,从而阻止了游戏的正常启动或运行。本......
  • Java面试题--JVM大厂篇之未来已来:为什么ZGC是大规模Java应用的终极武器?
           ......
  • 汇编世界的桥梁:链接器与加载器的奥秘
    标题:汇编世界的桥梁:链接器与加载器的奥秘在计算机程序的生命周期中,链接器(Linker)和加载器(Loader)扮演着至关重要的角色。它们是汇编语言程序从源代码到可执行程序过程中的关键环节。本文将深入探讨链接器和加载器的作用、工作原理以及它们在程序运行中的重要性。一、链接器(L......