JVM第二篇 类加载子系统

这篇具有很好参考价值的文章主要介绍了JVM第二篇 类加载子系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JVM主要包含两个模块,类加载子系统和执行引擎,本篇博客将类加载子系统做一下梳理总结。

目录

1. 类加载子系统功能

2. 类加载子系统执行过程

2.1 加载

2.2 链接

 2.3 初始化

 3. 类加载器分类

 3.1 引导类加载器

 3.2 自定义加载器

 3.2.1 自定义加载器实现步骤​编辑

 4. 类加载器特性

4.1 双亲委派

4.2  沙箱安全机制


1. 类加载子系统功能

JVM第二篇 类加载子系统,JVM,java,jvm

JVM第二篇 类加载子系统,JVM,java,jvm

2. 类加载子系统执行过程

JVM第二篇 类加载子系统,JVM,java,jvm

2.1 加载

JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

解析class文件的常用工具(字节码工具)

JVM第二篇 类加载子系统,JVM,java,jvm

2.2 链接

JVM第二篇 类加载子系统,JVM,java,jvm

 2.3 初始化

JVM第二篇 类加载子系统,JVM,java,jvm

代码演示:

JVM第二篇 类加载子系统,JVM,java,jvm

JVM第二篇 类加载子系统,JVM,java,jvm

说明:每个类只能被加载一次

 JVM第二篇 类加载子系统,JVM,java,jvm

JVM第二篇 类加载子系统,JVM,java,jvm

 3. 类加载器分类

    总的来说java支持两种类加载器,引导类加载器和自定义加载器

 JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

JVM第二篇 类加载子系统,JVM,java,jvm

 代码演示获取类加载器

JVM第二篇 类加载子系统,JVM,java,jvm

JVM第二篇 类加载子系统,JVM,java,jvm

 3.1 引导类加载器

JVM第二篇 类加载子系统,JVM,java,jvm

 3.2 自定义加载器

JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

代码演示:
 JVM第二篇 类加载子系统,JVM,java,jvm

JVM第二篇 类加载子系统,JVM,java,jvm

JVM第二篇 类加载子系统,JVM,java,jvm

 3.2.1 自定义加载器实现步骤JVM第二篇 类加载子系统,JVM,java,jvm

 代码演示:

JVM第二篇 类加载子系统,JVM,java,jvm

 ClassLoader类介绍:

JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

 4. 类加载器特性

4.1 双亲委派

JVM第二篇 类加载子系统,JVM,java,jvm

JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

 双亲委派机制好处:

JVM第二篇 类加载子系统,JVM,java,jvm

4.2  沙箱安全机制

JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

 JVM第二篇 类加载子系统,JVM,java,jvm

JVM第二篇 类加载子系统,JVM,java,jvm

 文章来源地址https://www.toymoban.com/news/detail-676724.html

到了这里,关于JVM第二篇 类加载子系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [JVM] 3. 类加载子系统(2)-- 类加载器、双亲委派机制(JDK1.8及之前)及其他

    JDK1.8及之前和JDK9及之后的双亲委派模型是不一样的,这里学习了1.8及以前的双亲委派模型,记录笔记 1.8之前主要是这几种类加载器: 负责将存放在 JAVA_HOMElib 目录中的,或者被-Xbootclasspath参数所指定的路径中的,并且是虚拟机识别的(仅按照文件名,如rt.jar)类库加载到虚

    2024年02月16日
    浏览(38)
  • Java虚拟机-类加载子系统

    目录 一、作用 二、角色 三、类的加载过程 (一)加载 (二)链接 1、验证 2、准备 3、解析 (三)初始化 (四)补充说明 四、类加载器分类 (一)引导类加载器和自定义加载器 (二)类加载器的获取 (三)启动类加载器(bootstrap ClassLoader) (四)扩展类加载器 (五)应

    2024年02月06日
    浏览(27)
  • RK3568驱动指南|第十二篇 GPIO子系统-第128章 GPIO入门实验

    瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568 支持安卓 11 和 linux 系统,主要面向物联网

    2024年01月21日
    浏览(27)
  • 深入理解JVM虚拟机第二篇:虚拟机概念和JVM整体架构以及字节码的执行路线

      😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月09日
    浏览(38)
  • JVM:Java类加载机制

            加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,类型的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始, 这是为了支持Java语言的运行时绑定特性(也称为动态绑定或晚期绑定)。

    2024年01月21日
    浏览(29)
  • [JVM] Java类的加载过程

    在Java中,类的加载是指在程序运行时将类的二进制数据加载到内存中,并转化为可以被JVM执行的形式的过程。类的加载过程主要包括以下几个步骤: 加载 (Loading):通过类的全限定名,使用类加载器将类的二进制数据加载到JVM中。类加载器会根据类的名称找到对应的字节码

    2024年01月16日
    浏览(29)
  • 【Jvm】Java类加载机制是什么?

    什么是类的加载? 类的生命周期? 类加载器是什么? 双亲委派机制是什么? JVM将class文件字节码文件加载到内存中, 并将这些静态数据转换成方法区中的运行时数据结构,在堆(并不一定在堆中,HotSpot在方法区中)中生成一个代表这个类的java.lang.Class 对象,作为方法区类数

    2024年02月11日
    浏览(32)
  • JVM 虚拟机 ----> Java 类加载机制

    一、概述 类是在运行期间第一次使用时,被类加载器动态加载至 JVM 。JVM不会一次性加载所有类。因为如果一次性加载,那么会占用很多的内存 二、类的生命周期 类的生命周期包含以下 七 个阶段: 加载(Loading) 验证(Verification) 准备(Preparation) 解析(Resolution) 初始化

    2024年02月07日
    浏览(32)
  • 第二件事 在Java 虚拟机 (JVM)跑一个程序

    上篇文章写了 在 WINDOWS上 创建了一个 JVM, 好! 现在在这个 Java 虚拟计算机系统上跑一个Java语言编写的小程序; 题目: 用Java语言 编写一个小程序 在Console界面 打印 整数 1-10 (回头了一下源程序,靠,应该打印的是 10-19 :)) 1、定义文件名 Test.java  这个文件中用Java语言编

    2024年02月20日
    浏览(27)
  • Java JVM类加载阶段 双亲委派模式

    加载 将类的字节码载入方法区中,内部采用 C++ 的 instanceKlass 描述 java 类,它的重要 field 有: _java_mirror 即 java 的类镜像,例如对 String 来说,就是 String.class,作用是把 klass 暴露给 java 使用 _super 即父类 _fields 即成员变量 _methods 即方法 _constants 即常量池 _class_loader 即类加载器

    2024年01月25日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包