zoukankan      html  css  js  c++  java
  • 类文件结构

    五、类文件结构

    代码编译的结果从本地机器码变为字节码

    JAVA编译器可以把java代码编译成存储字节码的Class文件

    Class文件是一组以8位字节为基础单位的二进制流,是一种类似C语言结构体的伪结构,只有两种数据类型:无符号数和表

    Class文件的组成

    1.魔数 身份识别  +版本号

    2.常量池 与其他项目关联最多、占据空间最大、class中第一个出现的表类型的数据项目 主要存放两大类常量:字面量和符号引用

    2.1字面量一般指字符串常量、final变量等

    2.2符号引用包含类和接口的全限定名、字段的名称和描述符、方法的名称和描述符

    ps java代码是在JVM加载类的时候动态链接的!

    3.访问标志

    这个class是类还是接口,是否是public或者abstract或final

    4.类索引(确定类的全限定名)、父类索引(确定父类的全限定名)、接口索引(描述这个类实现了哪些接口)

    由这三项来确定类的继承关系

    5.字段表的集合(描述接口或类中声明的变量不包含方法中的变量)

    6.方法表的集合(不包含方法中的代码 代码存在属性表的code属性中)

    7.属性表集合

    7.1code java方法体中的代码经javac编译后的字节码存放在code属性中

    7.2Exception 方法中可能抛出的异常

    7.3 LineNumberTable Java 源码行号与字节码行号对应关系

    7.4LocalVariableTable 栈帧中局部变量表与源码中定义的变量之间的关系

    7.5SourceFile 生成该class文件的源码文件名称

    7.6ConstantValue 通知虚拟机自动为静态变量赋值

    7.7Inner Class 内部类与宿主类之间的关联

  • 相关阅读:
    第十一周课程总结
    第十周学习总结
    第j九周学习总结暨第七周实验报告
    第八周学习总结暨第六周实验报告
    第七周学习总结暨第五周实验报告
    第六周学习总结暨第四周实验报告
    学习总结
    第十四周课程总结&实验报告
    第十三周课程总结
    第十三周课程总结 记事本
  • 原文地址:https://www.cnblogs.com/luyu1993/p/7145667.html
Copyright © 2011-2022 走看看