【JVM】字节码文件的组成

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

1. 魔数与Class文件版本

 魔数是一个用于校验字节码文件是否有效的标识,位于文件开头的前四个字节,魔数之后是次版本号和主版本号,共同构成了字节码文件的版本号。

2.常量池

常量池是字节码文件中的一个结构,包含了该类的所有常量,如数字,字符串,符号常量等。

3.访问标志

用于描述该类或接口的访问权限和属性。

4.类索引,父类索引,接口索引

分别指向该类的全限定名,父类的全限定名 和该类实现的接口列表。

5.字段表集合

包含了该类的所有字段,每个字段都有访问标志,名称,描述符和值。

6.方法表集合

包含了该类的所有方法,每个方法都有访问标志,名称,描述符和字节码指令序列。

7.属性表集合

包含了该类或接口的所有属性,如源文件名,行号表,本地变量表。文章来源地址https://www.toymoban.com/news/detail-785416.html

到了这里,关于【JVM】字节码文件的组成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 一、认识 JVM 规范(JVM 概述、字节码指令集、Class文件解析、ASM)

    JVM : Java Virtual Machine ,也就是 Java 虚拟机 所谓虚拟机是指:通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统。 即:虚拟机是一个计算机系统。这种计算机系统运行在完全隔离的环境中,且它的硬件系统功能是通过软件模拟出来的。 JVM 通

    2024年01月23日
    浏览(35)
  • JVM——类加载与字节码技术—类文件结构

      由源文件被编译成字节码文件,然后经过类加载器进行类加载,了解类加载的各个阶段,了解有哪些类加载器,加载到虚拟机中执行字节码指令,执行时使用解释器进行解释执行,解释时对热点代码进行运行期的编译处理。    根据下面规范,魔数,两个版本,常量池信息

    2024年02月11日
    浏览(26)
  • 爱上JVM——常见问题(一):JVM组成

    1.1 JVM由那些部分组成,运行流程是什么? 难易程度:☆☆☆ 出现频率:☆☆☆☆ JVM是什么 Java Virtual Machine Java程序的运行环境(java二进制字节码的运行环境) 好处: 一次编写,到处运行 自动内存管理,垃圾回收机制 JVM由哪些部分组成,运行流程是什么? 从图中可以看出

    2024年02月20日
    浏览(28)
  • (一)JVM实战——jvm的组成部分详解

    本节内容是关于java虚拟机JVM组成部分的介绍,通过其组成架构图了解JVM的主要组成部分。 ClassFile: 字节码文件 - javac: javac前端编译器将源代码编译成符合jvm规范的.class文件,即字节码文件 - class文件的结构组成: 魔术、Class文件版本、常量池、访问标志、类索引、父类索引

    2024年04月25日
    浏览(27)
  • 【JVM001】宋红康JVM字节码举例

    1 Integer 说明: 1 String package jvmT; 说明: 1 Object 执行结果: 说明: (1)成员变量(非静态)赋值过程:①默认初始化—②显示初始化/代码块中初始化—③构造器中初始化—④有了对象之后可以f.x或者f.method()设置属性值 (2)方法有多态,属性没有多态 main方法的字节码文件

    2024年02月06日
    浏览(22)
  • JVM——类加载与字节码技术—字节码指令

    jvm的解释器可以识别平台无关的字节码指令,解释为机器码执行。      2a b7  00 01  b1 this .    init() return   准备了System.out对象,准备了参数“hello world”,准备了对象的方法println(String)V,并return 这里常量池直接把查询结果放在了右边。  有了javap,终于不用看那狗屎字节码

    2024年02月11日
    浏览(34)
  • 【JVM 基础】类字节码详解

    源代码通过编译器编译为字节码,再通过类加载子系统进行加载到JVM中运行。 计算机是不能直接运行java代码的,必须要先运行java虚拟机,再由java虚拟机运行编译后的java代码。这个编译后的java代码,就是本文要介绍的java字节码。 为什么jvm不能直接运行java代码呢,这是因为

    2024年02月01日
    浏览(44)
  • JVM之类加载与字节码

    根据 Java 虚拟机规范,Class 文件通过 ClassFile 定义。ClassFile 的结构如下: 通过分析 ClassFile 的内容,我们便可以知道 class 文件的组成。 下面这张图是通过 IDEA 插件 jclasslib 查看的,你可以更直观看到 Class 文件结构。使用 jclasslib 不光可以直观地查看某个类对应的字节码文件

    2024年02月14日
    浏览(32)
  • JVM之类加载与字节码(二)

    类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期可以简单概括为 7 个阶段::加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)。其中,验证、准备和解析这三个阶段可以

    2024年02月13日
    浏览(79)
  • JVM之类加载与字节码(一)

    根据 Java 虚拟机规范,Class 文件通过 ClassFile 定义。ClassFile 的结构如下: 通过分析 ClassFile 的内容,我们便可以知道 class 文件的组成。 下面这张图是通过 IDEA 插件 jclasslib 查看的,你可以更直观看到 Class 文件结构。使用 jclasslib 不光可以直观地查看某个类对应的字节码文件

    2024年02月14日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包