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

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源码&#xff0c;openjdk11源码&#xff0c;java类jvm加载原理 jdk11中java类在jvm是如何被1查找、2加载 以下说明的是MiDept类是如何被java classloader 和 jvm加载步骤 上源代码 public static void main(String[] args) {Thread.currentThread().setName…...

单片机---独立按键

[3-1] 独立按键控制LED亮灭_哔哩哔哩_bilibili 按下的时候连接&#xff0c;松开的时候断开。 一头接GND&#xff08;电源负极&#xff09;&#xff0c;另一头接I/O口。 单片机上电时&#xff0c;所有I/O口为高电平。 按键没有按下&#xff0c;I/O口为高电平。 按键按下&…...

java分布式面试快问快答

目录 Java分布式面试宝典50题DubboRedisZookeeper分布式系统设计性能优化与监控安全实践经验 解答DubboRedisZookeeper分布式系统性能优化与监控安全 Java分布式面试宝典50题 Java分布式开发涉及到Dubbo、Redis、Zookeeper等技术&#xff0c;这些技术在实际工作中扮演着重要角…...

AI:148-开发一种智能语音助手,能够理解和执行复杂任务

AI&#xff1a;148-开发一种智能语音助手&#xff0c;能够理解和执行复杂任务 1.背景介绍 随着人工智能技术的飞速发展&#xff0c;智能语音助手已经逐渐成为人们日常生活中不可或缺的一部分。从简单的查询天气、播放音乐&#xff0c;到复杂的日程安排、智能家居控制&#xf…...

Kindling the Darkness:A Practical Low-light Image Enhancer

Abstract 在弱光条件下拍摄的图像通常会出现&#xff08;部分&#xff09;可见度较差的情况。,除了令人不满意的照明之外&#xff0c;多种类型的退化也隐藏在黑暗中&#xff0c;例如由于相机质量有限而导致的噪点和颜色失真。,换句话说&#xff0c;仅仅调高黑暗区域的亮度将不…...

图像处理与视觉感知---期末复习重点(4)

文章目录 一、图像复原与图像增强1.1 概述1.2 异同点 二、图像复原/退化模型2.1 模型图简介2.2 线性复原法 三、彩色基础四、彩色模型五、彩色图像处理 一、图像复原与图像增强 1.1 概述 1. 图像增强技术一般要利用人的视觉系统特性&#xff0c;目的是取得较好的视觉效果&…...

ABAP AMDP 示例

AMDP 是HANA开发中的一种优化模式 按SAP的官方建议&#xff0c;在可以使用Open SQL实现需要的功能或优化目标的时候&#xff0c;不建议使用AMDP。而在需要使用Open SQL不支持的特性&#xff0c;或者是大量处理流和分析导致了数据库和应用服务器之间有重复的大量数据传输的情况…...

发票查验接口C++语言如何集成、发票OCR

说起发票查验工作&#xff0c;繁琐的发票信息录入与反复查验令财务人员头疼不已。数字化时代&#xff0c;企业财务管理的自动化需求越来越高&#xff0c;翔云发票查验API搭配发票识别接口为企业提供一种高效的财务管理解决方案。仅需上传发票图片即可快速提取发票四要素信息&am…...

【图论 | 数据结构】用链式前向星存图(保姆级教程,详细图解+完整代码)

一、概述 链式前向星是一种用于存储图的数据结构,特别适合于存储稀疏图,它可以有效地存储图的边和节点信息,以及边的权重。 它的主要思想是将每个节点的所有出边存储在一起,通过数组的方式连接(类似静态数组实现链表)。这种方法的优点是存储空间小,查询速度快,尤其适…...

【蓝桥杯3.23小白赛】(详解)

第一题签到题不多说 【二进制王国】 #include <iostream> #include <vector> #include <algorithm> using namespace std;//int Cmp(string s1, string s2)测试了一下时间差确实很明显&#xff0c;还是用下面的内个 int Cmp(const string &s1,const st…...

设计模式之抽象工厂模式精讲

概念&#xff1a;为创建一组相关或相互依赖的对象提供一个接口&#xff0c;而且无须指定他们的具体类。 抽象工厂模式是工厂方法模式的升级版本。在存在多个业务品种或分类时&#xff0c;抽象工厂模式是一种更好的解决方式。 抽象工厂模式的UML类图如下&#xff1a; 可以看…...

初识云原生、虚拟化、DevOps

文章目录 K8S虚拟化DevOpsdevops平台搭建工具大数据架构 K8S master 主节点&#xff0c;控制平台&#xff0c;Master节点负责核心的调度、管理和运维&#xff0c;不需要很高性能&#xff0c;不跑任务&#xff0c;通常一个就行了&#xff0c;也可以开多个主节点来提高集群可用度…...

怎麼實現Nginx反向代理?

Nginx是一款開源軟體&#xff0c;可以作為Web伺服器、負載均衡器和反向代理使用&#xff0c;是高性能的HTTP和反向代理伺服器。其中反向代理是Nginx的一項重要特性。接下來&#xff0c;我們詳細講一下Nginx反向代理的實現和應用。 反向代理是什麼&#xff1f; 代理一詞通常指的…...

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第一个案例&#xff1a; Jmeter三个重要组件&#xff08;重点&#xff09;线程组特点线程组分类线程组的属性案例分析 HTTP请求案例一&#xff08;使用HTTP请求路径来传…...

Jmeter 聚合报告之 90% Line 正确理解

今天看了些关于Jmeter 聚合报告之 90% Line 的一些博客 关于90% Line 的算法各有各自的见解 。 90%Line可以用公式计算&#xff1a; 100/总个数每一个所占的百分比&#xff0c;90%/每一个所占的百分比90%Line的序号&#xff08;从小到大排&#xff09; 例如&#xff1a;1.2.3.…...

2024 解决 Failed to launch process [ElasticSearch]

操作系统&#xff1a;centos 7 (x86) sonarQube不能使⽤root账号进⾏启动&#xff0c;所以需要创建普通⽤户及其⽤户组 一、问题描述&#xff1a;使用root启动时&#xff0c;一直反馈 SonarQube is not running 问题原因&#xff1a;不能够使用root用户进行启动 解决方案…...

平台介绍-搭建赛事运营平台(4)

存储结构是赛事运营平台的核心设计内容。平台整体采用分库结构&#xff0c;各赛事独立享有自己的数据库。但是选手、家长、赛事组织机构、培训机构、老师、志愿者信息都是存储在核心库中。新增报名时&#xff0c;家长或老师首先看自己名下有无该选手信息&#xff08;对照关系也…...

系列学习前端之第 7 章:一文掌握 AJAX

1、AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML&#xff08;中文名&#xff1a;阿贾克斯&#xff09;&#xff0c;就是异步的 JS 和 XML。AJAX 不是新的编程语言&#xff0c;而是一种将现有的标准组合在一起使用的新方式。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 - …...

告别msi2lmp参数缺失!手把手教你用Perl脚本insight2lammps搞定MS到LAMMPS的data文件转换

告别msi2lmp参数缺失&#xff01;手把手教你用Perl脚本insight2lammps搞定MS到LAMMPS的data文件转换 分子动力学模拟研究者们常常遇到这样的困境&#xff1a;在Materials Studio&#xff08;MS&#xff09;中精心构建的模型&#xff0c;导出后却因LAMMPS自带的msi2lmp工具参数缺…...

s2-proGPU部署方案:多模型共存时s2-pro显存隔离与QoS保障策略

s2-proGPU部署方案&#xff1a;多模型共存时s2-pro显存隔离与QoS保障策略 1. 引言 在GPU服务器上同时运行多个AI模型已成为常态&#xff0c;但这也带来了显存资源竞争和性能波动的问题。本文将详细介绍如何在多模型共存环境下&#xff0c;为s2-pro语音合成模型实现显存隔离与…...

如何获取网易云音乐永久链接:终极免费解决方案指南

如何获取网易云音乐永久链接&#xff1a;终极免费解决方案指南 【免费下载链接】netease-cloud-music-api 网易云音乐直链解析 API 项目地址: https://gitcode.com/gh_mirrors/ne/netease-cloud-music-api 你是否曾经遇到过这样的烦恼&#xff1a;好不容易找到一首喜欢的…...

软考高项“上岸”指南:三位宝藏老师,专治你的备考焦虑

备战软考高项&#xff0c;尤其是面对2026年可能更加灵活的考情&#xff0c;选择一位对的引路人至关重要。今天&#xff0c;就为大家深度介绍软考老金团队的三位王牌导师——尹老师、金老师、秦老师。他们风格互补&#xff0c;却有着共同的目标&#xff1a;陪你稳稳上岸。尹老师…...

LumiPixel Canvas Quest人像生成中的数据结构优化实践

LumiPixel Canvas Quest人像生成中的数据结构优化实践 1. 为什么需要优化数据结构 当你用LumiPixel Canvas Quest处理大批量人像时&#xff0c;有没有遇到过程序变慢甚至崩溃的情况&#xff1f;这通常是因为图像数据在内存中的组织方式不够高效。就像整理衣柜一样&#xff0c…...

WinDiskWriter:Mac用户制作Windows启动盘的零门槛开源工具

WinDiskWriter&#xff1a;Mac用户制作Windows启动盘的零门槛开源工具 【免费下载链接】windiskwriter &#x1f5a5; A macOS app that creates bootable USB drives for Windows. &#x1f6e0; Patches Windows 11 to bypass TPM and Secure Boot requirements. 项目地址:…...

Notepad++插件安装失败?手把手教你搞定NppFTP(含离线安装包和兼容性解决方案)

Notepad插件安装失败&#xff1f;手把手教你搞定NppFTP&#xff08;含离线安装包和兼容性解决方案&#xff09; 作为开发者日常必备的文本编辑器&#xff0c;Notepad凭借轻量高效的特点广受欢迎。而NppFTP插件更是让这款编辑器如虎添翼&#xff0c;实现了直接通过FTP/SFTP协议远…...

gh_mirrors/eg/eggs深度解析:一站式解决所有服务器部署难题

gh_mirrors/eg/eggs深度解析&#xff1a;一站式解决所有服务器部署难题 【免费下载链接】eggs Service eggs for the pterodactyl panel 项目地址: https://gitcode.com/gh_mirrors/eg/eggs 在服务器管理领域&#xff0c;快速部署和高效运维一直是开发者和管理员面临的核…...

Nunchaku FLUX.1 CustomV3镜像免配置:预装ComfyUI+Custom Workflow+LoRA权重一体化方案

Nunchaku FLUX.1 CustomV3镜像免配置&#xff1a;预装ComfyUICustom WorkflowLoRA权重一体化方案 想体验最新的AI绘画模型&#xff0c;但被复杂的安装、配置和模型下载劝退&#xff1f;今天给大家介绍一个“开箱即用”的终极方案——Nunchaku FLUX.1 CustomV3镜像。它把文生图…...

5B00,5B01,5B02,1700,1701,1702,1704,P07清零软件G3800,TS3480 ,TS3380 ,G3000,G1810,TS9020, TS8020,TS3480

下载地址&#xff1a;链接:https://pan.baidu.com/s/1j7Nwv715wX1JL3qidnGyXA?pwd0000 提取码:0000 常见 佳能打印机 型号&#xff1a; G5080 G6080 G7080 G1810 G2810 G3810 G4810 G1800 G2800 G3800 G4800 G5010 G6010 G7010 G1010 G2010 G3010 G4010 G1000 G2000 G3000 G40…...