第六章 Javaclass文件
1. class文件表:
A.magic(魔数)——4个字节
B.minor-version和major-version(主次版本号)——4个字节
C.constant_pool_count 和constant_pool 常量池:储存了诸如文字字符串,final变量值,类名和方法名的常量,constant_pool_count计数在列表constant_pool之前,它的数值为constant_pool中数量+1.
在动态连接的java程序中,常量池还可以容纳:
l 类和接口的全限定名
l 字段的名称和描述符
l 方法的名称和描述符
字段是类或接口的实例变量或者类变量。字段的描述符是一个指示字段的类型的字符串,方法的描述符也是一个字符串,该字符串指示方法的返回值和参数的数量、顺序和类型。
D.access_flags:文件中定义的类和接口的几段信息。如它的修饰符,公有还是抽象,类型是final还是不是。
E.this_class——2个字节,它是一个对常量池的索引,在this_class位置的常量池入口必须为CONSTANT_Class_info。该表有两部分组成——标签和name_index.标签部分是一个具有CONSTANT_Class值的常量,在name_index位置的常量池入口为一个包含类和接口全限定名的CONSTANT_Utf8_info表
F.Super_class——2个字节:也是一个常量池的索引。这个super_class位置的常量池入口是一个指向该类超类的全限定名的CIONSTANT_Class_info入口。
G.interfaces_count和interfaces:在文件中该类直接实现或者有接口所扩展的父接口的数量,他们按照从左到右的顺序出现到一个数组中。
H.fields_count和fields:文件中对该类或者接口的中所声明的字段的描述
fields_count是类变量和实例变量的字段的总数量,此中不包含父类或者父接口中的字段
J.methords_count和methord:文件中对该类或者接口的中所声明的方法的描述
K.attributes_count和attributes:class文件的最后部分是属性
分享到:
相关推荐
深入 Java 虚拟机.pdf Java 虚拟机(Java Virtual Machine,JVM)是 Java 语言的 runtime 环境,是 Java 程序执行的核心组件。它提供了一个平台无关的环境,允许 Java 程序在不同的操作系统和硬件平台上运行。 一...
Java虚拟机(JVM)是Java程序运行的基础,它提供了执行环境和各种内存区域,以支持Java代码的高效运行。本地方法栈是JVM的一部分,它主要负责处理与本地方法(通常是由C或C++编写)相关的调用。本地方法栈在Java线程...
《实战Java虚拟机——JVM故障诊断与性能优化》内容...第9~~10章介绍了虚拟机的核心——Class文件结构,以及虚拟机中类的装载系统。第11章介绍了虚拟机的执行系统和字节码,并给出了通过ASM框架进行字节码注入的案例。
第6章 java class文件 6.1 java class文件是什么 6.2 class文件的内容 6.3 特殊字符串 6.3.1 全限定名 6.3.2 简单名称 6.3.3 描述符 6.4 常量池 6.4.1 constant_utf8_info表 6.4.2 constant_...
#### 第六章 Java Class文件 - **Java Class文件的结构**:本章详细介绍了Java Class文件的各个组成部分,包括魔数、版本号、常量池等。 - **魔数**:用于标识该文件是否为有效的Class文件。 - **版本号**:记录...
通过阅读《深入理解Java虚拟机》第三章,开发者不仅可以深入理解Java的安全机制,还能学习到如何在实际项目中实施这些安全策略,提升应用的安全性。对于想要从事Java开发或者对系统安全有深入了解需求的人来说,这一...
java虚拟机读书笔记,主要描述阅读Java虚拟机核心技术的描述。
java虚拟机不用多少了吧。 深入java虚拟机第二版.pdf
《深入JAVA虚拟机第二版》是由Bill Venners撰写,并由曹晓钢和蒋靖翻译的中文书籍。这本书是Java开发者必备的经典读物,它详细地解析了Java虚拟机(JVM)的工作原理,帮助读者深入理解Java程序的运行机制。尽管描述...
第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机中类的装载系统。第11章介绍了Java虚拟机的执行系统和字节码,并给出了通过ASM框架进行字节码注入的案例。, 《实战Java虚拟机——JVM故障诊断与...
第6章 Java class文件 第7章 类型的生命周期 第8章 连接模型 第9章 垃圾收集 第10章 栈和局部变量操作 第11章 类型转换 第12章 整数运算 第13章 逻辑运算 第14章 浮点运算 第15章 对象和数组 第16章 控制流 第17章 ...
通过阅读《深入JAVA虚拟机》和《JVM规范》,结合实际的代码分析,可以让我们更好地理解和掌握这个强大的虚拟机。无论是初级开发者还是经验丰富的专家,都应该对JVM有深入的理解,这将极大地提升我们的编程实践能力。
《深入JAVA虚拟机 不那么完美的第二版》这本书虽然在印刷上可能存在一些小瑕疵,但这并不影响我们从中汲取宝贵的Java虚拟机(JVM)知识。Java虚拟机是Java平台的核心组成部分,它负责执行Java程序,提供了跨平台的...
深入理解Java虚拟机,首先我们要明白Java虚拟机(JVM)的核心功能:它负责装载类文件,执行字节码,并管理内存。Java虚拟机的结构复杂且高效,主要由类装载器、执行引擎、内存管理和类库等组件构成。 类装载器是JVM...
《深入Java虚拟机》这本书是Java开发者深入了解JVM(Java Virtual Machine)的必备经典之作。它详尽地探讨了Java虚拟机的工作原理、内存管理、类加载机制、字节码执行以及性能优化等多个核心主题,旨在帮助开发者...
深入JAVA虚拟机,帮助大家在Java方面进行学习,深入JAVA虚拟机,帮助大家在Java方面进行学习,
第1章 :简单地介绍了Java虚拟机的历史并吹捧了←_← 一下Java的平台无关性(一次编译,到处运行);... 第6章:定义了Java虚拟机指令集; 第7章:提供了一张以操作码值为索引的Java虚拟机操作码助记表。
第6章阐释并列举Java虚拟机指令集;第7章提供一张以操作码值为索引的Java虚拟机操作码助记符表。 《Java核心技术系列:Java虚拟机规范(Java SE 8版)》完整而准确地阐释了Java虚拟机各方面的细节,围绕Java虚拟机...
讲述java虚拟机 唯二的书。本书作者曾因本书荣获专业技术杂志《Java Report》评选的优秀...作者以易于理解的方式深入揭示了Java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益!
第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机中类的装载系统。第11章介绍了Java虚拟机的执行系统和字节码,并给出了通过ASM框架进行字节码注入的案例。, 《实战Java虚拟机——JVM故障诊断与...