美文网首页
4.Class类的文件结构

4.Class类的文件结构

作者: Pagliacci_Joker | 来源:发表于2019-01-30 11:41 被阅读0次

文件结构

以8字节为一个单元
.Class测试类

public class TestClass {
    private int m;
    public int inc(){
        return m+1;
    }
}
.class文件结构

1.魔数

2.class版本

3.常量池
存放字面量与符号引用。
字面量(更接近JAVA层面):例如字符串常量、声明final的常量值
符号引用:类和接口的全限定名、字段的名称和描述符、方法的名称和描述符。
当虚拟机运行时,需要从常量池中获得对应符号的引用,在类创建时运行时解析,翻译到具体的内存地址中。
即Class文件中不保存各个方法、字段最终的内存布局。
在常量池中,前两个字节代表常量池容量CP_NUM,一共有CP_NUM个CP_INFO
**CP_INFO
u1代表1字节,u2代表2字节

Constant结构
常量池总览

4.访问标志

image.png

5.索引
类索引
u2(2个字节)用来确定这个类的全限定名,指向某块CP_INFO
父类索引
u2(2个字节)用来确定这个类的父类的全限定名指向某块CP_INFO
接口索引集合
描述了这个类实现了哪些接口。前2个字节代表集合大小n,后面接n*u2块,代表接口索引实现了n个接口

6.字段表集合
filed_info为字段表集合,包含了类级变量及实例集变量,
头2个字节为集合大小。集合内单位为filed
private int m;
字段访问标识:private
描述符含义:int
简单名称:m

filed结构
字段访问标识
描述符含义

7.方法表集合
类似字段表集合的结构。

8.属性表集合
顺序没有硬性要求
jvm虚拟机字节指令表
哪天心情好再啃8。。枯了。

相关文章

  • 4.Class类的文件结构

    文件结构 以8字节为一个单元.Class测试类 1.魔数 2.class版本 3.常量池存放字面量与符号引用。字面...

  • 类文件结构【Class类文件的结构】

    概述 任何一个Class文件都对应着唯一一个类或接口的定义信息,但反过来,类或接口并不一定都得定义在文件里(如类或...

  • JDK 核心 API-java.lang 包

    java.lang 包 1.包装类 2.String类 3.Math类 4.Class类 5.Object类 2....

  • 类文件结构

    本文大体讲一下结构,着重从理解层面看,就是当时我最难理解的地方讲,并不会深入的讲解某一块的具体结构信息,如果要看结...

  • 类文件结构

    class文件结构 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Cla...

  • 类文件结构

    类的二进制文件中的主要结构 无符号数和表 u1,u2,u4,u8。表由无符号数和表构成 魔数 1-4字节:确定文件...

  • 类文件结构

    概述 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目按照顺序紧地排列在CLass文件之中,中间没...

  • 类文件结构

    一、概述 在计算机商业领域中,不同的硬件体系结构和不同的操作系统长期并存是必然的结果,所以Java 提出了“Wri...

  • 类文件结构

    语言无关性 JAVA虚拟机与Class文件关联,与具体的语言没关系。任何语言只要能编译成Cla...

  • 类文件结构

    语言无关性:jvm和字节码格式 jvm不和java在内的任何语言绑定,他只和“class”这种特定的二进制格式文件...

网友评论

      本文标题:4.Class类的文件结构

      本文链接:https://www.haomeiwen.com/subject/dpuqsqtx.html