《JVM学习》1、类加载子系统,双亲委派机制

JVM - 1.类加载子系统 1.Java开发可以自定义类加载器,定制类的加载方式2.自定义类加载器的优势1.隔离加载类(不同中间件的加载是隔离的,确保加载jar包时相同名称的路径不会冲突)2.修改类加载的方式(修改为需要的时候动态的加载)3.扩展加载源(本地磁盘,网络,扩展其他加载源)4.防止源码泄露(自定义类加载器实现加密解密)3.实现步骤1.通过继承抽象类的方式,实现自定义类加载器2.JDK1.2之前,自定义类加载器会去继承类并重写方法,从而实现自定义的类加载类3.JDK1.2之后,不建议覆盖。 阅读详情

JVM架构图

JVM架构简图

JVM架构英文图

JVM架构中文图版

类加载器子系统

1、类加载器子系统负责从文件系统或者网络中加载CLass文件,Class文件在文件开头有特定的文件标识。
2、ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine 决定。
3、加载的类信息存在于一块叫做方法区的内存空间。除了类的信息外,方法区种还会存放运行时的常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class问价那种常量池部分的内存映射)。

类的加载过程

类加载过程

加载过程:

加载 验证 准备 解析 初始化

在这里插入图片描述

加载

1、通过一个类的全限定名获取定义此类的二进制字节流
2、将这个字节流所代表的静态存储结构转化为方法区的运行是数据结构。
3、在内存中生成以一个代表这个类的Java.lang.class 对象,作为方法区这个类的法中数据的访问入口。

链接

在这里插入图片描述

初始化在这里插入图片描述

类加载器

在这里插入图片描述

在这里插入图片描述

虚拟机自带的加载器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用户自定义加载器

在这里插入图片描述

双亲委派机制

原理

在这里插入图片描述
在这里插入图片描述

优势

在这里插入图片描述

沙箱安全机制

在这里插入图片描述
在这里插入图片描述

其他

在这里插入图片描述

【JVM】jvm的双亲委派机制 在了解JVM的双亲委派机制之前,你不得不需要知道的几个名字:本文我们只讲上图中里的类加载子系统下的三个阶段之一(Loading,加载阶段)有关的内容,即下图中用红色线圈起来的几个名词。当一个类加载器收到了类加载的请求的时候,它不会直接去加载指定的类,而是把这个请求委托给自己的父加载器去加载。只有父加载器无法加载这个类的时候,才会由当前这个加载器来负责类的加载。,已经没有父加载器了,这时候开始考虑自己是否能加载了,如果自己无法加载,会下沉到子加载器去加载,一直到最底层,如果没有任何加载器能加载,就会抛出。 阅读详情

相关推荐

Cursor集成Claude 4.6免费版:本地IDE合规调用指南

大语言模型编程助手(LLM Copilot)已成为现代开发标配,其核心能力依赖于上下文理解、代码推理与结构化输出等关键技术原理。Anthropic官方提供的Claude系列模型,尤其Claude 4.6,凭借200K超长上下文、tool use函数调用和严格可控的API设计,在工程实践中展现出显著技术价值。该能力可无缝嵌入本地IDE环境,支撑代码解释、跨文件分析、单元测试生成等高频开发场景。本文聚焦Cursor这一开源可审计IDE,详解如何合规复用Anthropic免费tier接口(/v1/messages

weixin_34095889的博客 537

图解JVM-2. 类加载子系统

JVM类加载子系统是Java程序运行的基石,理解其工作原理对于开发者来说至关重要。本文从类加载子系统的概述、类加载器的层次结构、双亲委派机制、实际应用、常见问题及解决方案等方面进行了深入探讨。

Anarkh_Lee的博客 1195

扫地机器人视觉+IMU融合导航路径规划技术详解

本文介绍了基于视觉-惯性里程计(VIO)的扫地机器人自主导航系统。系统硬件由RGB摄像头、IMU传感器和编码器组成,软件架构采用分层设计,包括传感器数据采集层、数据融合层、SLAM定位层和路径规划层。核心技术包括:1)融合视觉特征提取(ORB算法)与IMU预积分的VIO;2)基于栅格地图的SLAM构建;3)结合A*全局规划和动态窗口法(DWA)局部避障的路径规划。文章提供了完整的Python实现代码,涵盖传感器数据融合、特征匹配和运动估计等关键功能模块。该系统实现了扫地机器人的精准定位和环境感知能力。

电脑管家 1462

JVM:类加载子系统

JVM:类加载子系统

weixin_74019079的博客 1012

WPS接入DeepSeek,实现AI辅助功能

总的来说,借助 WPS 中宏功能与 DeepSeek 大模型的结合,文档处理、内容创作和数据分析等任务都能更加智能化、自动化。这不仅大幅提升了工作效率,也为办公场景带来了全新的智能化办公体验。

运维老生常谈 3805

高通平台WIFI学习-- WCN7851 三频 2X2 MIMO DBS HBS Wi-Fi 7介绍

WCN7851是支持Wi-Fi 7和蓝牙5.4的三频SoC芯片,具有以下核心特性:采用NSP334封装,支持2.4GHz/5GHz/6GHz三频段并发操作,最高速率达5.8Gbps;集成MU-MIMO、4096QAM调制技术,6GHz频段支持320MHz带宽;提供PCIe Gen3接口和低功耗设计,兼容多种无线标准。电气特性包括1.8V/1.2V可编程GPIO、76.8MHz时钟源要求,以及详细的射频性能参数。该芯片通过多链路操作和动态频率选择等先进功能,实现高性能无线连接。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1275

JVM笔记:类加载子系统

类加载器子系统负责从文件系统或者网络中加载Class 文件, class 文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载, 至于它是否可以运行, 则由Execution Engine 决定。加载的类信息存放于一块称为方法区的内存空间。除了类的信息外, 方法区中还会存放运行时常量池信息, 可能还包括字符串字面量和数字常量( 这部分常量信息是Class 文件中常量池部分的内存映射)对于用户自定义类来说:使用系统类加载器AppClassLoader进行加载。

20年码农 1152

学习STM32的DS18B20温度传感器

该函数首先复位传感器,然后发送跳过ROM命令和转换命令,并等待转换完成。接下来,它再次复位传感器,发送跳过ROM命令和读取温度命令。最后,它读取温度值的最低字节和最高字节,并将其组合成16位温度值。传感器的VCC引脚连接到STM32的3.3V电源,GND引脚连接到GND,而数据引脚连接到任何一个IO引脚。需要注意的是,示例代码中使用了一个简单的延时函数来等待转换完成。实际上,您可能需要使用定时器或其他更精确的延时方法来实现更准确的延时。下面是一个示例代码,演示如何读取DS18B20传感器的温度值。

m0_75244442的博客 1182

JVM系列-第2章-类加载子系统

文章目录第2章-类加载子系统内存结构概述简图详细图类加载器子系统类加载器ClassLoader角色类加载过程概述加载阶段链接阶段验证(Verify)准备(Prepare)解析(Resolve)初始化阶段类的初始化时机clinit()1,2,3说明4说明5说明6说明类加载器的分类概述虚拟机自带的加载器启动类加载器扩展类加载器系统类加载器用户自定义类加载器什么时候需要自定义类加载器?如何自定义类加载器?关于ClassLoader获取ClassLoader途径双亲委派机制双亲委派机制原理双亲委派机制代码演示举例1

youthlql的博客 2974

AMD SDP 优快云 系列文章设计

摘要 本文档规划了7篇AMD SDP协议解析系列文章的技术博客设计方案。基于《Scalable Data Port (SDP) Specification》1.5.0版本(122页),面向SoC/NoC领域的RTL设计与验证工程师,构建从基础概念到验证实现的知识体系。 系列文章严格遵循协议规范边界,采用五类证据标签区分内容来源(规范原文、勘误、验证推导等),禁止补充未定义的实现细节。包含端口控制、事务传输、一致性协议等核心内容,最终落实到验证平台设计与覆盖率模型。 每篇文章采用统一模板:明确规范依据、问题导

元直的博客 160

从零开始:C#上位机集成YOLO完成摄像头目标追踪(保姆级教程)

新手入门C#上位机+YOLO做摄像头目标追踪,最忌讳的是“只抄代码,不懂逻辑”。这个教程不仅给了完整代码,还把核心原理和踩坑点都讲清楚了,新手跟着走,不仅能跑通demo,还能理解为什么这么写。如果你们在运行时遇到具体问题,比如模型导出失败、代码报错,都可以在评论区留言,我会一一解答。后续也可以出一期工业相机+YOLO目标追踪的教程,帮助大家把demo落地到实际生产中。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1030

JVM虚拟机系统性学习-类加载子系统

是 Javac 编译器自动生成的,该方法由编译器自动收集类中的所有类变量的赋值动作和静态语句块中的语句合并生成的,如果一个类中没有静态代码块, 也没有变量赋值的动作,那么编译器可以不为这个类生成。这里不包含用 final 修饰的 static 变量,因为 final 修饰的变量在编译为 class 字节码文件的时候就会分配了,准备阶段会显式初始化。验证:目的在于确保 class 文件的字节流中包含信息符合当前虚拟机要求,保证被加载类的正确性。加载类的class文件时,Java虚拟机采用的是。

qq_45260619的博客 1076

【OpenClaw从入门到精通】第02篇:5分钟速通!阿里云/华为云一键部署OpenClaw(附避坑指南·2026实测版)

本文聚焦OpenClaw的云端部署场景,针对本地部署“关机即离线、跨设备访问难”的痛点,详解阿里云(主推)和华为云(备选)的一键部署流程。2026实测验证:阿里云轻量应用服务器通过官方OpenClaw镜像可5分钟完成部署,华为云Flexus L实例需补充SSH配置步骤;文中拆解云端部署核心概念(地域选择、端口放行、成本构成),通过“AI助理定时抓取行业资讯并推送钉钉”的虚拟案例演示云端7×24小时运行价值,同时提供模型调用、服务器成本的精细化控制方案,梳理端口访问失败、API-Key权限异常等高频坑点的解决

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 5545

JVM 类加载子系统

虚拟机就是一款用来执行虚拟计算机指令的计算机软件。它相当于一台虚拟计算机。大体上,虚拟机分为系统虚拟机和程序虚拟机。系统虚拟机就相当于一台物理电脑,里面可以安装操作系统;程序虚拟机是为了执行单个计算机程序而设计出来的虚拟机。其中 Java 虚拟机就是执行 Java 字节码指令的虚拟机。

hello_1566的博客 1279

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

JVM-第二章-类加载子系统

工作原理沙箱安全机制:自定义类,但是在加载自定义类的时候会率先使用引导类加载其加载,而引导类加载器在加载的过程中会先加载自带的文件(包中的),报错信息说明没有main方法,就是因为加载的是rt.jar包中的String类。这样可以保证对java核心源代码的保护,这就是

practice_warm的博客 830

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JVM 双亲委派机制

Java运行环境的核心由JDK、JRE和JVM构成。JDK是开发工具包,包含编译工具和JRE;JRE提供运行时环境,其核心是JVM,负责将Java字节码转换为机器指令,实现跨平台运行。JVM由类加载器子系统、运行时数据区、执行引擎和本地方法接口组成,采用双亲委派机制确保类加载的安全性和唯一性。类加载过程包括加载、验证、准备、解析和初始化五个阶段,触发时机包括实例化对象、访问静态成员、反射调用等。自定义类加载器可以打破双亲委派机制,实现特定加载逻辑。理解JVM类加载机制对优化程序性能和排查问题至关重要。

Broken_x的博客 1099

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

4. JVM-类加载子系统

类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。 ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。 加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是class文件中常量池部分的内存映射)

weixin_45267102的博客 543

【JVM 1】类加载器 + 运行时数据区

一、运行时数据区内部结构 二、PC寄存器 1、概念 JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能运行。 这里,并非广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器)会更加贴切(也称为程序钩子),并且不容易引起一些不必要的误会。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。 2、作用 PC寄存器用来存储指向下一条指令的地址,也即将

学Java,找哪吒 5566

JVM_02 类加载子系统

类加载器分类

1719

JVM类加载机制—类加载器和双亲委派机制详解

JVM类加载器、双亲委派机制、自定义类加载器

weixin_44991038的博客 1943

JVM——(3)类加载子系统

前言 从本篇文章开始进入JVM的学习,前面我们介绍了JAVA、JVM等等 这篇文章我们从类加载子系统开始进入学习 一、内存结构概述 请先看以下的简图,class Files我们称为字节码,从字节码开始后续操作都需要JVM负责 第一步:我们要将Class文件加载到内存当中,而类加载需要用到类加载子系统Class Loader来进行加载 同时对应到我们的内存当中,生成一个大的Class对象并且将必要的静态属性进行初始化等等(方法区提现) 第二步:当我们真正去执行字节码指令的时候,就需要执行引擎去发挥作用,

zhouhengzhe的博客 1713

【个人学习】JVM(1):类加载子系统

在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。为什么要自定义类加载器?隔离加载类修改类加载的方式扩展加载源防止源码泄漏开发人员可以通过继承抽象类ava.1ang.ClassLoader类的方式,实现自己的类加载器,以满足一些特殊的需求。

dopapapa的博客 590

JVM(一)类加载子系统

JVM与类加载子系统一,虚拟机二,java虚拟机三,类加载子系统3.1,类加载阶段3.2,链接阶段3.3,初始化阶段四,类加载器4.1,启动类加载器(引导类加载器Bootstrap ClassLoader)4.2,扩展类加载器(Extension ClassLoader)4.3,应用程序类加载器(系统类加载器,AppClassLoader)4.4,自定义类加载器五,双亲委派机制5.1 工作原理5.2,优势六,补充 一,虚拟机 虚拟机:一台虚拟的计算机,它是一款软件,用来执行一系列虚拟机算计指令。可分为系统虚

weixin_43172032的博客 1564

JVM的体系结构、类加载器及双亲委派机制

类加载器:它是 JVM 中的搬运员,负责把类文件(Java 类)加载进来。双亲委派机制:它确保每个类加载器不会直接加载类,而是先让“父母”类加载器尝试加载,避免重复或篡改类。

weixin_44748929的博客 1069

JVM类加载子系统

JVM的整体结构 类加载子系统 类的加载指的是将类的.class文件中二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构。类加载的最终产品是位于堆区中的class对象,Class对象封装了类在方法区内的数据结构,并向Java程序员提供了访问方法区内的数据机构的接口. 我们可以通过类名.class来获取一个类的类型的引用,通过new 类名().getClass()来获取一个实例变量的类的引用 类加载子系统分为三个

是小D吖!的博客 322

JVM-类加载子系统

文章目录类加载子系统1.JVM内存结构图2.什么是类加载子系统2.1 加载阶段2.1.1 类加载器ClassLoader2.2.2 类加载阶段过程2.2 链接阶段2.2.1 验证(Verify)2.2.2 准备(Prepare)2.2.3 解析(Resolve)2.3 初始化阶段3.类加载器的分类3.1 虚拟机自带的加载器3.1.1 启动类加载器3.1.2 扩展类加载器3.1.3 系统类加载器3.2 用户自定义类加载器3.2.1 什么时候需要自定义类加载器?3.2.2 如何自定义类加载器?4.双亲委派机制4

nlw的博客 599
上一篇: 微信H5授权登录
下一篇: 《JVM学习》2、运行时数据区概述及线程
pywanggui
博客等级 码龄12年 6粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pywanggui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值