jdk11中自定义java类在jvm是如何被查找、加载
yym带你了解jvm源码,openjdk11源码,java类jvm加载原理
jdk11中java类在jvm是如何被1查找、2加载
以下说明的是MiDept类是如何被java classloader 和 jvm加载步骤
上源代码
public static void main(String[] args) {Thread.currentThread().setName("yym");MiDept miDept = new MiDept();System.out.println(miDept.show(123456));}public class MiDept {public String show(int data) {System.out.println("mi--------------"+data);return "yym-invoke-method";}}
一、java层查找步骤
findLoadedClass0
AppClassLoader->PlatformClassLoader->BootClassLoader
AppClassLoader<-PlatformClassLoader<-BootClassLoader
在native层函数
private final native Class<?> findLoadedClass0(String name);
jvm源码查找步骤
1、对应jni的findLoadedClass0方法

2、

3、查找klass

4、字典中查找klass

5、返回klass实例

二、java层加载步骤
AppClassLoader->PlatformClassLoader->BootClassLoader
AppClassLoader<-PlatformClassLoader<-BootClassLoader
在native层函数
static native Class<?> defineClass1(ClassLoader loader, String name, byte[] b, int off, int len, ProtectionDomain pd, String source);
jvm源码加载步骤
1、对应jni方法

2、
3、

4、从文件中加载klass

5、

6、创建klass实例

7、加载完成返回klass
8、更新字典

9、添加klass到字典

10、返回klass镜像对应java的class类对象

相关文章:
jdk11中自定义java类在jvm是如何被查找、加载
yym带你了解jvm源码,openjdk11源码,java类jvm加载原理 jdk11中java类在jvm是如何被1查找、2加载 以下说明的是MiDept类是如何被java classloader 和 jvm加载步骤 上源代码 public static void main(String[] args) {Thread.currentThread().setName…...
单片机---独立按键
[3-1] 独立按键控制LED亮灭_哔哩哔哩_bilibili 按下的时候连接,松开的时候断开。 一头接GND(电源负极),另一头接I/O口。 单片机上电时,所有I/O口为高电平。 按键没有按下,I/O口为高电平。 按键按下&…...
java分布式面试快问快答
目录 Java分布式面试宝典50题DubboRedisZookeeper分布式系统设计性能优化与监控安全实践经验 解答DubboRedisZookeeper分布式系统性能优化与监控安全 Java分布式面试宝典50题 Java分布式开发涉及到Dubbo、Redis、Zookeeper等技术,这些技术在实际工作中扮演着重要角…...
AI:148-开发一种智能语音助手,能够理解和执行复杂任务
AI:148-开发一种智能语音助手,能够理解和执行复杂任务 1.背景介绍 随着人工智能技术的飞速发展,智能语音助手已经逐渐成为人们日常生活中不可或缺的一部分。从简单的查询天气、播放音乐,到复杂的日程安排、智能家居控制…...
Kindling the Darkness:A Practical Low-light Image Enhancer
Abstract 在弱光条件下拍摄的图像通常会出现(部分)可见度较差的情况。,除了令人不满意的照明之外,多种类型的退化也隐藏在黑暗中,例如由于相机质量有限而导致的噪点和颜色失真。,换句话说,仅仅调高黑暗区域的亮度将不…...
图像处理与视觉感知---期末复习重点(4)
文章目录 一、图像复原与图像增强1.1 概述1.2 异同点 二、图像复原/退化模型2.1 模型图简介2.2 线性复原法 三、彩色基础四、彩色模型五、彩色图像处理 一、图像复原与图像增强 1.1 概述 1. 图像增强技术一般要利用人的视觉系统特性,目的是取得较好的视觉效果&…...
ABAP AMDP 示例
AMDP 是HANA开发中的一种优化模式 按SAP的官方建议,在可以使用Open SQL实现需要的功能或优化目标的时候,不建议使用AMDP。而在需要使用Open SQL不支持的特性,或者是大量处理流和分析导致了数据库和应用服务器之间有重复的大量数据传输的情况…...
发票查验接口C++语言如何集成、发票OCR
说起发票查验工作,繁琐的发票信息录入与反复查验令财务人员头疼不已。数字化时代,企业财务管理的自动化需求越来越高,翔云发票查验API搭配发票识别接口为企业提供一种高效的财务管理解决方案。仅需上传发票图片即可快速提取发票四要素信息&am…...
【图论 | 数据结构】用链式前向星存图(保姆级教程,详细图解+完整代码)
一、概述 链式前向星是一种用于存储图的数据结构,特别适合于存储稀疏图,它可以有效地存储图的边和节点信息,以及边的权重。 它的主要思想是将每个节点的所有出边存储在一起,通过数组的方式连接(类似静态数组实现链表)。这种方法的优点是存储空间小,查询速度快,尤其适…...
【蓝桥杯3.23小白赛】(详解)
第一题签到题不多说 【二进制王国】 #include <iostream> #include <vector> #include <algorithm> using namespace std;//int Cmp(string s1, string s2)测试了一下时间差确实很明显,还是用下面的内个 int Cmp(const string &s1,const st…...
设计模式之抽象工厂模式精讲
概念:为创建一组相关或相互依赖的对象提供一个接口,而且无须指定他们的具体类。 抽象工厂模式是工厂方法模式的升级版本。在存在多个业务品种或分类时,抽象工厂模式是一种更好的解决方式。 抽象工厂模式的UML类图如下: 可以看…...
初识云原生、虚拟化、DevOps
文章目录 K8S虚拟化DevOpsdevops平台搭建工具大数据架构 K8S master 主节点,控制平台,Master节点负责核心的调度、管理和运维,不需要很高性能,不跑任务,通常一个就行了,也可以开多个主节点来提高集群可用度…...
怎麼實現Nginx反向代理?
Nginx是一款開源軟體,可以作為Web伺服器、負載均衡器和反向代理使用,是高性能的HTTP和反向代理伺服器。其中反向代理是Nginx的一項重要特性。接下來,我們詳細講一下Nginx反向代理的實現和應用。 反向代理是什麼? 代理一詞通常指的…...
IOS面试题编程机制 71-75
71. 简述有哪几种手势通知方法?-(void)touchesBegan:(NSSet*)touchedwithEvent:(UIEvent*)event; -(void)touchesMoved:(NSSet*)touched withEvent:(UIEvent*)event; -(void)touchesEnded:(NSSet*)touchedwithEvent:(UIEvent*)event; -(void)touchesCanceled:(NSSet*)touchedw…...
JMeter元件作用域和执行顺序
JMeter元件作用域和执行顺序 元件的基本介绍基本元件总结 作用域的基本介绍作用域的原则元件执行顺序Jmeter第一个案例: Jmeter三个重要组件(重点)线程组特点线程组分类线程组的属性案例分析 HTTP请求案例一(使用HTTP请求路径来传…...
Jmeter 聚合报告之 90% Line 正确理解
今天看了些关于Jmeter 聚合报告之 90% Line 的一些博客 关于90% Line 的算法各有各自的见解 。 90%Line可以用公式计算: 100/总个数每一个所占的百分比,90%/每一个所占的百分比90%Line的序号(从小到大排) 例如:1.2.3.…...
2024 解决 Failed to launch process [ElasticSearch]
操作系统:centos 7 (x86) sonarQube不能使⽤root账号进⾏启动,所以需要创建普通⽤户及其⽤户组 一、问题描述:使用root启动时,一直反馈 SonarQube is not running 问题原因:不能够使用root用户进行启动 解决方案…...
平台介绍-搭建赛事运营平台(4)
存储结构是赛事运营平台的核心设计内容。平台整体采用分库结构,各赛事独立享有自己的数据库。但是选手、家长、赛事组织机构、培训机构、老师、志愿者信息都是存储在核心库中。新增报名时,家长或老师首先看自己名下有无该选手信息(对照关系也…...
系列学习前端之第 7 章:一文掌握 AJAX
1、AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML(中文名:阿贾克斯),就是异步的 JS 和 XML。AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。AJAX 可以在浏览器中向服务器发送异步请求…...
iOS - Runtime - Class的结构
文章目录 iOS - Runtime - Class的结构前言1. Class的结构1.1 Class的结构1.1.1 objc_class1.1.2 class_rw_t1.1.3 class_ro_t 1.2 class_rw_t和class_ro_t的区别1.3 class_rw_t和class_ro_t的关系1.3.1 分析关系1.3.2 原因 1.4 method_t1.4.1 Type Encoding1.4.2 types iOS - …...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
