什么是类加载器,类加载器如何分类

article/2025/9/18 8:49:18

一、类加载器

1.什么是类加载器

类加载器:负责将.class文件(存储的物理文件)加载到内存中

2.类加载时机:

① 创建类的实例(对象)

② 调用类的实例方法

③ 访问类或者接口的类变量,或者为该类变量赋值

④ 使用反射方法来强制创建某个类或接口对应的java.lang.Class对象

⑤ 初始化某个类的子类

⑥ 直接使用java.exe命令来运行某个主类

3.类加载的过程

加载:

① 通过一个类的全限定名获取定义此类的二进制流,即通过包名+类名,获取这个类,准备用流进行传输

② 将这个字节流所代表的静态存储结构转化为运行时数据结构,即将这个类加载到内存中

③ 在内存中生成一个代表这个类的java.lang.Class对象,任何类被使用时,系统都会为创建一个java.lang.Class对象,即加载完毕创建一个class对象

验证:

链接阶段的第一步,这一阶段为了确保Class文件字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机的自身安全,即文件中的信息是否符合虚拟机规范,有没有安全隐患

准备:

负责为类的类变量(被static修饰的变量)分配内存,并且设置默认初始化值,即初始化静态变量

解析:

将类的二进制数据流中的符号引用替换为直接引用,即本类中如果用到了其他的类,此时就需要找到对应的类

初始化:

根据程序员通过程序指定的主观计划去初始化类变量和其他资源,即静态变量赋值以及初始化其他资源

statac String school=“中山大学”

类加载过程小结:

当一个类被使用的时候,才会被加载到内存

类加载的过程:加载、验证、准备、解析、初始化

二、类加载分类

jdk9 以后,类加载器分类:

启动类加载器(Bootstrap ClassLoader):虚拟机内置的类加载器

平台类加载器(Platform ClassLoader):负责加载JDK一些特殊的模块

系统类加载器(System ClassLoader):负责加载用户类路径上的所指定的类库

jdk8 类加载器分类:


http://chatgpt.dhexx.cn/article/gdl4ttQd.shtml

相关文章

深入理解Java虚拟机——再谈类的加载器——第十二章——中篇

深入理解Java虚拟机——Java虚拟机介绍——第一章 深入理解Java虚拟机——类加载子系统——第二章 深入理解Java虚拟机——运行时数据区和本地方法接口——详细篇——第三章 深入理解Java虚拟机——对象的实例化内存布局与访问定位——超级详细篇——第四章 深入理解Java虚拟机…

类加载器详解

类加载器的分类 JVM支持两种类型的类加载器,分别为引导类加载器(BootstrapClassLoader)和自定义类加载器(User-Defined ClassLoader) 从概念上来讲, 自定义类加载器一般指的是程序中由开发人员自定义的一类,类加载器,但是Java虚拟机规范却没有这么定义,而是将所有派生于抽象类…

Java - 类加载器

文章目录 1. 类加载的过程2. 类加载器的分类2.1 引导类加载器 Bootstrap2.2 扩展类加载器 ExtClassLoader2.3 系统类加载器 AppClassLoader2.4 三者之间的关系2.5 自定义类加载器2.6 注:谁来准备类加载器呢? 3. 双亲委派机制4. ClassLoader抽象类5. URLClassLoader…

DAU 和 MAU

DAU 和 MAU 日活跃用户占月活跃用户的比例越高,表明用户对App的使用粘性越高。 DAU,即:Daily Active User,指日活跃用户数 MAU,即:Monthly Active User,指月活跃用户数。 *例子1:…

如何通过DAU分析活跃用户?(案例:python绘制箱体图)

前言:本文内容以游戏产品为基础进行讲解,内容为以下4部分: 1. 如何理解DAU反映了哪些问题? 2. 有哪些因素会影响DAU变动? 3. 如何解读DAU的“箱体图”? 4. 如何使用python绘制“箱体图”? DAU的…

【数据分析】产品日活DAU下降,怎么分析

目录 案例简介 第一步:确认数据真实性 第二步:明确定义,并拆解指标,进一步定位原异常部分 第三步:根据几个常见维度初步拆分数据 第四步:进一步做假设并细分深入,得出结论 案例分析 例题…

数据分析——DAU下降问题(转)

文章转自: DAU异常下降该如何分析 1. 梳理公司的用户增长模式 尽管不同业务形态、以及不同发展阶段的公司,其用户增长模式各有差异,但都可以从拉新策略和促活策略进行分解。 常见的拉新策略有: 流量采购。比如通过厂商预装、…

有赞一面:亿级用户DAU日活统计,有几种方案?

说在前面 在40岁老架构师 尼恩的读者社区(50)中,最近有小伙伴拿到了一线互联网企业如极兔、有赞、希音、百度、网易、滴滴的面试资格,遇到一几个很重要的面试题: (1) 亿级用户场景,如何高性能统计日活? (2) 如何实现亿…

数据分析——用户粘性指标 DAU/MAU

( 一 )定义 DAU,即:Daily Active User,指日活跃用户数; MAU,即:Monthly Active User,指月活跃用户数。 日活/月活就是体现用户粘性最频繁使用的指标。日活跃用户占月活…

数据分析体系 - 用户粘性(DAU/MAU 和 月人均活跃天数)

对于常见的App,用户粘性的取值范围就是3%~100%, 不同领域的App也会有不同的基准值, 例如移动游戏会以20%为基线, 而工具类App会以40%为基线。 用户粘性的两个计算指标: 1、DAU/MAU 2、月平均活跃人数 这里其实…

数据分析——DAU下降/上升原因分析

本文是对“DAU变动原因”问题进行的思考整理,仅作记录,欢迎讨论。 ( 一 )思维框架 图版: 文版: 内部原因: 1. 数据验证 如果DAU上升或者下降,且非日常波动,需先确…

数据分析 — 用户粘性的两个计算指标(DAU/MAU和月人均活跃天数)

很多运营都了解DAU(日活跃用户数)和MAU(月活跃用户数)的重要性,但在某些情况下这两个数值本身并不能反映出太多问题,这个时候就要引用到【DAU/MAU】的概念,即【日活/月活】。 用户粘性的两个计…

峰值21WQps、亿级DAU,小游戏《羊了个羊》是怎么架构的?

小游戏《羊了个羊》 短短的7天内,DAU突破了1亿、吞吐量峰值21WQps。 《羊了个羊》运营后台数据显示,在短短的7天内,这款小游戏的DAU就突破了1亿。 要知道,除了王者荣耀、原神等屈指可数的现象级手游之外,1亿DAU是这个…

dau、mau、pcu、dnu、wau、acu、uv分别是什么意思?

dau、mau、pcu、dnu、wau、acu、uv的意思是什么?怎么分析? DAU(Daily Active User)日活跃用户数量。常用于反映网站、互联网应用或网络游戏的运营情况。 MAU(monthly active users)月活跃用户人数。是在线游戏的一个用户数量统计名词,数量越大意味着玩这款游戏的人…

数据化运营04 DAU、MAU、UV:谁是最有参考价值的活跃指标?

活跃类指标是重要的用户质量指标,代表了产品上真正的用户,代表了具备营销价值的用户群,是几乎所有产品运营的重点。 在这一讲中,我会主要向你介绍 UV、DAU、MAU,以及每日使用时长和每日打开频次等指标。 你是否思考过…

如何理解、分析DNU/DAU?(案例:DNU、DAU面积图)

前言:本文内容以游戏产品为基础进行讲解,内容为以下4部分: 1. 如何理解DNU和DAU 2. 如何使用python绘制DNU和DAU的面积图 3. 如何分析DNU/DAU 4. 如何计算当日DAU有多少由往日N日DAU贡献的,并简单计算用户生命周期? DN…

DAU是啥,数据指标是啥?必知必会的数据分析常识

在刚迈入数据的大门时,我经常对一些数据指标或者数据本身的概念很模糊,尤其是当跟运营、数据分析师扯需求的时候,会被这些密密麻麻的指标给弄糊涂。为了更好的在行业里面摸打滚爬,花了很多时间阅读一些指标相关的文章、书籍&#…

dau、mau、pcu、dnu、wau、acu、uv的意思是什么?怎么分析?

dau、mau、pcu、dnu、wau、acu、uv的意思是什么?怎么分析? DAU(Daily Active User)日活跃用户数量。常用于反映网站、互联网应用或网络游戏的运营情况。 MAU(monthly active users)月活跃用户人数。是在线游戏的一个用户数量统计名词,数量越大意味着玩这款游戏的人…

dau、mau、pcu、dnu、wau、acu、uv的意思是什么?

dau、mau、pcu、dnu、wau、acu、uv的意思是什么?怎么分析? 名词分析 DAU(Daily Active User)日活跃用户数量。常用于反映网站、互联网应用或网络游戏的运营情况。 MAU(monthly active users)月活跃用户人数。是在线游戏的一个用户数量统计名词,数量越大意味着玩…

Spring AOP原理和用法

AOP也就是面向切面编程,首先AOP不等于Spring aop,前者是编程所要实现的目标,后者仅仅是AOP的实现方式之一,作为一种动态注入的实现方式,还有一些别的例如AspectJ(静态注入)等 一. Spring aop使…