【JVM从入门到实战】(五)类加载器

一、什么是类加载器

类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。
类加载器只参与加载过程中的字节码获取并加载到内存这一部分。
在这里插入图片描述

二、jdk8及之前的版本 类加载器分为三类:

  1. 启动类加载器-加载Java中最核心的类:启动类加载器(Bootstrap ClassLoader)是由Hotspot虚拟
    机提供的、使用C++编写的类加载器。默认加载Java安装目录/jre/lib下的类文件,比如rt.jar,tools.jar,resources.jar等。
    通过启动类加载器去加载用户jar包:推荐,使用jvm参数 -Xbootclasspath/a:jar包目录/jar包名 进行扩

  2. 扩展类加载器-允许扩展Java中比较通用的类、应用程序类加载器-加载应用应用使用的类、扩展类加载器和应用程序类加载器都是JDK中提供的、使用Java编写的类加载器。
    它们的源码都位于sun.misc.Launcher中,是一个静态内部类。继承自URLClassLoader。具备通过目录或者指定jar包将字节码文件加载到内存中。
    在这里插入图片描述

扩展类加载器(Extension Class Loader)是JDK中提供的、使用Java编写的类加载器。默认加载Java安装目录/jre/lib/ext下的类文件。
在这里插入图片描述

三、Arthas中类加载器相关功能

类加载器的详细信息可以通过classloader命令查看:
classloader - 查看 classloader 的继承树,urls,类加载信息,使用 classloader 去 getResource

类加载器的加载路径可以通过classloader –c hash值 查看
在这里插入图片描述

在这里插入图片描述

相关推荐

  1. jvm

    2023-12-14 14:04:04       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-14 14:04:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-14 14:04:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-14 14:04:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-14 14:04:04       18 阅读

热门阅读

  1. ES6之函数新增的扩展

    2023-12-14 14:04:04       36 阅读
  2. Vue3 中的 Proxy--读懂ES6中的Proxy

    2023-12-14 14:04:04       31 阅读
  3. nextTick详解

    2023-12-14 14:04:04       43 阅读
  4. 【Python 千题 —— 基础篇】今年几岁啦

    2023-12-14 14:04:04       44 阅读
  5. 天线的分类

    2023-12-14 14:04:04       40 阅读
  6. 无心剑中译佚名《爱情的26个字母寓意》

    2023-12-14 14:04:04       40 阅读