`
yefeng_laixi
  • 浏览: 16521 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

深入java虚拟机读书笔记——第六章 class文件

阅读更多

第六章 Javaclass文件

1. class文件表:

  A.magic(魔数)——4个字节

  B.minor-versionmajor-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_countinterfaces:在文件中该类直接实现或者有接口所扩展的父接口的数量,他们按照从左到右的顺序出现到一个数组中。

H.fields_countfields:文件中对该类或者接口的中所声明的字段的描述

fields_count是类变量和实例变量的字段的总数量,此中不包含父类或者父接口中的字段

J.methords_countmethord:文件中对该类或者接口的中所声明的方法的描述

K.attributes_countattributesclass文件的最后部分是属性

分享到:
评论

相关推荐

    java第一章笔记

    6. **跨平台性**:Java的一个重要特性就是“编写一次,到处运行”(Write Once Run Anywhere, WORA),这得益于Java的运行机制——Java程序被编译成字节码(Bytecode),然后由Java虚拟机(JVM)解释执行。...

    Java 基础 第1阶段:基本语法-尚硅谷学习笔记(含面试题) 2023年

    2023年的"Java 基础 第1阶段:基本语法——尚硅谷学习笔记(含面试题)"涵盖了从环境搭建到程序设计的基本要素,旨在帮助学习者系统地理解并应用Java语言。 一、Java环境搭建 在开始Java编程之前,你需要安装Java ...

    达内JAVA培训笔记重点

    这些字节码文件可以被任何支持Java的平台上的Java虚拟机(JVM)解释执行。 2. **执行 JAVA 字节码**:JVM加载并解释执行字节码文件。这一过程包括了类的加载、链接和初始化等步骤。 3. **计算机编译一个 java 程序...

    java学习笔记

    Java程序的运行依赖于Java虚拟机(JVM),这意味着只要目标系统安装了相应的JVM,Java程序就能在其上运行。这种特性确保了Java“一次编写,到处运行”的跨平台性。 - **开发步骤**: 1. **编写源文件**:使用`.java`...

    java学习笔记-基础

    2. **JRE(Java运行时环境)**:包含Java虚拟机(JVM)、类库和其他支持文件,允许在没有安装JDK的计算机上运行Java应用程序。 #### 二、Java语言特性 Java是一种面向对象的编程语言,具备以下特点: 1. **简单性...

    java并发编程笔记

    通常情况下,一个进程至少包含一个线程,而Java虚拟机默认有两个线程:主线程`main`和垃圾回收线程`GC`。 #### 二、并发与并行 - **并发**:指在同一时间段内,有多个程序(任务)同时处于已启动到未完成的状态。...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    java代码-40 李启强

    在给定的压缩包文件中,我们可以看到两个关键文件——`main.java`和`README.txt`。这很可能是某个Java编程项目的一部分,其中`main.java`是包含主要程序逻辑的源代码文件,而`README.txt`通常用于提供项目说明、使用...

Global site tag (gtag.js) - Google Analytics