当前位置: 首页 > 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类对象

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

相关文章:

  • 单片机---独立按键
  • java分布式面试快问快答
  • AI:148-开发一种智能语音助手,能够理解和执行复杂任务
  • Kindling the Darkness:A Practical Low-light Image Enhancer
  • 图像处理与视觉感知---期末复习重点(4)
  • ABAP AMDP 示例
  • 发票查验接口C++语言如何集成、发票OCR
  • 【图论 | 数据结构】用链式前向星存图(保姆级教程,详细图解+完整代码)
  • 【蓝桥杯3.23小白赛】(详解)
  • 设计模式之抽象工厂模式精讲
  • 初识云原生、虚拟化、DevOps
  • 怎麼實現Nginx反向代理?
  • IOS面试题编程机制 71-75
  • JMeter元件作用域和执行顺序
  • Jmeter 聚合报告之 90% Line 正确理解
  • 2024 解决 Failed to launch process [ElasticSearch]
  • 平台介绍-搭建赛事运营平台(4)
  • 系列学习前端之第 7 章:一文掌握 AJAX
  • iOS - Runtime - Class的结构
  • MySQL高阶语句(一)
  • MySQL知识总结
  • Go-Gin-Example 第八部分 优化配置接口+图片上传功能
  • 阿里云国际DDoS高防的定制场景策略
  • v4l2采集视频
  • Spring Cloud 八:微服务架构中的数据管理
  • Chrome/Edge 使用 Markdown Viewer 查看 Markdown 格式文件
  • flutter 弹窗之系列一
  • 【Flink实战】Flink hint更灵活、更细粒度的设置Flink sql行为与简化hive连接器参数设置
  • 【python从入门到精通】-- 第二战:注释和有关量的解释
  • 【手写AI代码目录】准备发布的教程