Class文件:
access_flags:
access_flags为两个字节,紧跟常量池,展示了文件中定义的类或接口的几段信息。
access_flags中所有未使用的位都必须有编译器置0,而且java虚拟机必须忽略它。
this_class:
两个字节,他是一个对常量池的索引。this_class位置的常量池入口必须为CONSTANT_Class_info标。该表由两部分组成:一个标签和name_index。
标签:一个具有CONSTANT_Class值的常量,name_index位置的常量池入口为一个包含了类或接口权限定名的CONSTANT_Utf8_info表。
this_class指示一个指向常量池的索引。
super_class:
两个字节的常量池索引:一个指向该类超类全限定名的CONSTANT_Class_info入口。
对于Object类,super_class的值为0,对于接口,常量池入口super_class位置的项为java.lang.Object。
interfaces_count、interfaces
在文件中由该类直接实现或者由该接口所扩展的父接口的数量。这个技术后面,是名为interfaces的数组,包含了对每个由该类或者接口直接实现的父接口的常量池索引。
超类按照在implements子句和extends子句汇总出现的顺序(从左到右)在这个数据中显现。
fields_count、fields
首先是名为fields_count的计数,它是类变量和实例变量的字段的数量总和。
在fields列表中,不列出超类或者父接口继承而来的字段。
每个field_info表都展示一个字段的信息,如果该字段被声明为final,field_info表还会展示其常量值。
methods_count和methods
首先是名为methods_count的计数。双字节,对该类或者接口中声明的所有方法的总计数,从超类或者父接口汇总继承的方法不被计入。
attributes_count、attributes
给出了该文件中类或者接口所定义的属性的基本信息。每个attribute_info的第一项是指向常量池中CONSTANT_Utf8_info表的索引。
特殊字符串:
常量池中容纳的符号引用包括三种特殊的字符串:权限定名、简单名称、描述符。
所有的符号引用都包括类或者接口的全限定名。
分享到:
相关推荐
第1章 :简单地介绍了Java虚拟机的历史并吹捧了←_← 一下Java的平台无关性(一次编译,到处运行); 第2章:概览Java虚拟机整体架构;... 第7章:提供了一张以操作码值为索引的Java虚拟机操作码助记表。
深入 Java 虚拟机.pdf Java 虚拟机(Java Virtual Machine,JVM)是 Java 语言的 runtime 环境,是 Java 程序执行的核心组件。它提供了一个平台无关的环境,允许 Java 程序在不同的操作系统和硬件平台上运行。 一...
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》共分7章。第1章从宏观的角度介绍了Java虚拟机与Java的关系及发展历程;第2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、...
读书笔记:java 虚拟机,深入理解Java虚拟机 JVM高级特性与最佳实践
**Android虚拟机ART详解** Android运行环境的核心组成部分之一就是虚拟机,从早期的Dalvik到现在的Android RunTime(ART),这一进化过程极大地提升了Android应用的性能和效率。本文将深入探讨ART的工作原理、优势...
技术部研发团队技术干货分享:Java虚拟机.
资源名称:Scala程序设计:Java虚拟机多核编程实战资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
### Java虚拟机分析与优化关键知识点 #### 一、Java虚拟机基础知识 1. **Java虚拟机(JVM)概述** - Java是一种面向对象的编程语言,具有“一次编写,到处运行”的特点。 - Java代码通过编译器转换为字节码,由...
读书笔记:Java虚拟机从入门到精通
Java基础知识学习:包括JVM虚拟机、对象模型等Java基础知识代码案例Java基础知识学习:包括JVM虚拟机、对象模型等Java基础知识代码案例Java基础知识学习:包括JVM虚拟机、对象模型等Java基础知识代码案例Java基础...
### 深入理解Android(二):Java虚拟机Dalvik #### 一、背景与研究目的 在深入了解Dalvik虚拟机之前,我们先来探讨一下背景与研究目的。随着移动设备性能的不断提高,Android系统因其开放性而吸引了众多开发者...
2. 字节码验证:Java虚拟机对字节码进行验证,检查其是否符合Java虚拟机的规范。 3. 字节码执行:Java虚拟机执行字节码,通过解释或编译来执行字节码指令。 4.垃圾回收:Java虚拟机的垃圾回收机制可以自动回收不再...
读书笔记:java虚拟机详解jvm从入门到精通
第二章:java虚拟结构(运行时区域内存:寄存器,java虚拟机栈,java堆,方法去,运行时常量池,本地方法栈); 第三章:为java虚拟机编译; 第四章:Class文件格式; 第五章:加载、链接与初始化
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》共分7章。第1章从宏观的角度介绍了Java虚拟机与Java的关系及发展历程;第2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、...
标题:Java虚拟机的分析与研究.pdf 描述:该文件是一篇关于Java虚拟机分析与研究的论文,文章编号为5828,中图分类号为TP3:17,文献标识码为B。论文详细讨论了Java虚拟机技术,包括虚拟机的定义、功能、重要性以及在...
《Java虚拟机规范(JavaSE7版)》为想要了解Java虚拟机原理的程序员提供了必须的参考资料。它不仅仅是一份文档,更是为了确保不同厂商实现的Java虚拟机能够在统一的外部接口上进行交互和通信的契约。虽然规范中的...
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》共分7章。第1章从宏观的角度介绍了Java虚拟机与Java的关系及发展历程;第2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、...
java虚拟机OutOfMemoryError:Java heap space堆dump文件,可以直接用来分析。