当前位置: 首页 > news >正文

【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值 查看
在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/261591.html

相关文章:

  • 计算机毕业设计 基于Web的城市旅游网站的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 【人工智能革命】:AIGC时代的到来 | 探索AI生成内容的未来
  • spring-boot-data-jpa、JPA实现分页
  • 云原生之深入解析如何在Kubernetes中快速启用Cgroup V2支持
  • QT实现四则运算计算器
  • mysql的redolog、undo、binlog的作用
  • 京东大数据-10月京东咖啡机市场销售数据分析-销售额增长41%,德龙等海外头部品牌店铺数据分析
  • 【Android12】WindowManagerService架构分析
  • 部署LVS的NET模式
  • 如何在Facebook Business Manager进行企业认证
  • 推荐一款好用的包含表格识别的OCR网站
  • linux 块设备驱动程序介绍
  • 知识付费小程序开发:构建个性化学习平台的技术实践
  • OpenCV极坐标变换函数warpPolar的使用
  • 类与接口常见面试题
  • Windows mysql5.7 执行查询/开启/测试binlog---简易记录
  • 文档安全加固:零容忍盗窃,如何有效预防重要信息外泄
  • 前端如何设置模板参数
  • 06 使用v-model实现双向数据绑定
  • 【C++11特性篇】C++11中新增的initializer_list——初始化的小利器(2)
  • 计算机网络传输层(期末、考研)
  • 【STM32入门】4.1中断基本知识
  • HCIA-H12-811题目解析(3)
  • 【异步绘制】UIView刷新原理 与 异步绘制
  • [ERROR] ocp-server-ce-py_script_start_check-4.2.1 RuntimeError: ‘tenant_name‘
  • 模拟实验中经常遇到的问题和常用技巧
  • 微信小程序(二) ——模版语法1
  • 牛客小白月赛83 解题报告
  • 蓝桥杯专题-真题版含答案-【三角螺旋阵】【干支记年法】【异或加密法】【金字塔】
  • 鸿蒙篇——初次使用鸿蒙原生编译器DevEcoStudio创建一个鸿蒙原生应用遇到的坑--汇总(持续更新)