我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java之jvm加载器使用方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java之jvm加载器使用方法

这篇文章主要讲解了“java之jvm加载器使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java之jvm加载器使用方法”吧!

在java的学习中,对于jvm模块我们会不断补充一些知识点,毕竟jvm是比较重要的一个组成部分。本篇围绕jvm加载器展开介绍,在加载类的时候,我们的加载器会逐个进行工作,在具体的加载器类型上,想必大家还不是很清楚。下面我们就java之jvm加载器的4中类型带来介绍。

1、Bootstrap ClassLoader (引导类加载器)

负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现的核心库,也就是JVM调用每个系统的API实现系统功能,实现跨平台的主要模块,不是ClassLoader子类。开发者不能直接使用。

2、Extension ClassLoader (扩展类加载器)

负责加载java平台中扩展功能的一些jar包,包括$JAVA_HOME中jre/lib    URL[] urls = sun.misc.Launcher.getBootstrapClassPath().getURLs();    for(int i = 0; i < urls.length; i++) {      System.out.println(urls[i].toExternalForm());    }  }}

当类被加载之后,系统为之生成一个对应的Class对象,接着将会进入连接阶段,连接阶段负责把类的二进制数据合并到JRE中。类连接又可分为如下3个阶段。

验证:验证阶段用于检验被加载的类是否有正确的内部结构,并和其他类协调一致。Java是相对C++语言是安全的语言,例如它有C++不具有的数组越界的检查。这本身就是对自身安全的一种保护。验证阶段是Java非常重要的一个阶段,它会直接的保证应用是否会被恶意入侵的一道重要的防线,越是严谨的验证机制越安全。验证的目的在于确保Class文件的字节流中包含信息符合当前虚拟机要求,不会危害虚拟机自身安全。其主要包括四种验证,文件格式验证,元数据验证,字节码验证,符号引用验证。

四种验证做进一步说明:

  1. 文件格式验证:主要验证字节流是否符合Class文件格式规范,并且能被当前的虚拟机加载处理。例如:主,次版本号是否在当前虚拟机处理的范围之内。常量池中是否有不被支持的常量类型。指向常量的中的索引值是否存在不存在的常量或不符合类型的常量。

  2. 元数据验证:对字节码描述的信息进行语义的分析,分析是否符合java的语言语法的规范。

  3. 字节码验证:最重要的验证环节,分析数据流和控制,确定语义是合法的,符合逻辑的。主要的针对元数据验证后对方法体的验证。保证类方法在运行时不会有危害出现。

  4. 符号引用验证:主要是针对符号引用转换为直接引用的时候,是会延伸到第三解析阶段,主要去确定访问类型等涉及到引用的情况,主要是要保证引用一定会被访问到,不会出现类等无法访问的问题。

感谢各位的阅读,以上就是“java之jvm加载器使用方法”的内容了,经过本文的学习后,相信大家对java之jvm加载器使用方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java之jvm加载器使用方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java之jvm加载器使用方法

这篇文章主要讲解了“java之jvm加载器使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java之jvm加载器使用方法”吧!在java的学习中,对于jvm模块我们会不断补充一些知识点
2023-06-06

JVM类加载器之ClassLoader的使用详解

类加载器负责读取Java字节代码,并转换成java.lang.Class类的一个实例的代码模块。本文主要和大家聊聊JVM类加载器ClassLoader的使用,需要的可以了解一下
2022-11-13

Java自定义类加载器及JVM自带的类加载器之间的交互关系是什么

这篇“Java自定义类加载器及JVM自带的类加载器之间的交互关系是什么”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Java自定义类加载器及JVM自带的类加载器之间的交互关系是什么”,小编整理
2023-06-06

如何使用最新版JDK15的JVM类加载器

这篇文章主要讲解了“如何使用最新版JDK15的JVM类加载器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用最新版JDK15的JVM类加载器”吧!1 类加载器在类加载器家族中存在着类似
2023-06-15

如何在java中使用JVM方法区

今天就跟大家聊聊有关如何在java中使用JVM方法区,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复的
2023-06-14

怎么使用java JVM方法分派模型

这篇文章主要介绍了怎么使用java JVM方法分派模型的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用java JVM方法分派模型文章都会有所收获,下面我们一起来看看吧。1. 知识储备1.1 分派定义:确
2023-07-02

java类加载器的常用方法有哪些

这篇文章主要讲解了“java类加载器的常用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java类加载器的常用方法有哪些”吧!1、loadClass,当类加载请求到来时,首先从缓存
2023-06-30

如何在Java字节码中使用jvm方法

这篇文章主要为大家详细介绍了如何在Java字节码中使用jvm方法,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:1、虚拟机视角在执行Java代码时,首先需要将编译后的class文件装入Java虚拟机。装入的Ja
2023-06-06

如何在java虚拟机中使用jvm方法

这篇文章主要介绍了如何在java虚拟机中使用jvm方法,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!使用下面代码:for (int i = 0; i <10000; i++) {CglibWapper
2023-06-06

java类加载器URLClassLoader怎么使用

这篇文章主要介绍“java类加载器URLClassLoader怎么使用”,在日常操作中,相信很多人在java类加载器URLClassLoader怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java类
2023-07-05

Java Thread之Sleep()使用方法

在Java中,Thread类的sleep()方法用于使当前线程进入休眠状态,暂停一段时间执行。它有两种重载形式:1. `static void sleep(long millis)`:使当前线程休眠指定的毫秒数。例如,`Thread.sle
2023-08-08

如何在java中使用类加载器

今天就跟大家聊聊有关如何在java中使用类加载器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3
2023-06-14

Java类加载器ClassLoader的使用详解

类加载器负责读取Java字节代码,并转换成java.lang.Class类的一个实例的代码模块。本文主要和大家聊聊JVM类加载器ClassLoader的使用,需要的可以了解一下
2022-12-19

Android图片加载利器之Picasso基本用法

今天开始我们来学习一下Picasso,计划包括以下几方面的内容: 图片加载利器之Picasso进阶 图片加载利器之Picasso源码解析目前市场上比较流行的图片加载框架主要有UniversalImageLoader,Picasso,Glid
2022-06-06

Android使用控件ImageView加载图片的方法

在 Android 加载图片一般使用 ImageView,这里简单记录一下这个控件的使用方法。 最简单就是在 xml 里直接使用 ImageView 标签:
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录