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表的索引。
特殊字符串:
常量池中容纳的符号引用包括三种特殊的字符串:权限定名、简单名称、描述符。
所有的符号引用都包括类或者接口的全限定名。
分享到:
相关推荐
一个文档让你读懂什么事java虚拟机,让你的编程生涯更加的透彻!
资源名称:Scala程序设计:Java虚拟机多核编程实战资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
主题:java虚拟机分析与优化 ——演讲者 李 镭 您是否曾经对WebSphere所使用的JVM如何运作感到好奇?您如何调整它使得Java应用运行得稳定顺畅?它能够提供哪些信息让您的Java应用充分利用系统资源?为了能够使得您...
深入理解Android(二):Java虚拟机Dalvik
Android虚拟机ART
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》共分7章。第1章从宏观的角度介绍了Java虚拟机与Java的关系及发展历程;第2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、...
第二章:java虚拟结构(运行时区域内存:寄存器,java虚拟机栈,java堆,方法去,运行时常量池,本地方法栈); 第三章:为java虚拟机编译; 第四章:Class文件格式; 第五章:加载、链接与初始化
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》共分7章。第1章从宏观的角度介绍了Java虚拟机与Java的关系及发展历程;第2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、...
第1章 :简单地介绍了Java虚拟机的历史并吹捧了←_← 一下Java的平台无关性(一次编译,到处运行); 第2章:概览Java虚拟机整体架构;... 第7章:提供了一张以操作码值为索引的Java虚拟机操作码助记表。
java虚拟机学习 java虚拟机学习java虚拟机学习java虚拟机学习java虚拟机学习
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》共分7章。第1章从宏观的角度介绍了Java虚拟机与Java的关系及发展历程;第2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、...
java虚拟机OutOfMemoryError:Java heap space堆dump文件,可以直接用来分析。
《深入理解Android:卷I》,资源大小:2.66 MB,欢迎下载
《Java虚拟机规范 7》是一份完整的描述Java虚拟机是如何设计的规范文档。这份文档对于任何一个希望实现Java虚拟机的编译器作者,或者希望实现一个与规范相兼容的Java虚拟机的程序员来说都是必不可少的。
与我一起学 JVM:Java 虚拟机内存组成概念前言Java 虚拟机内存划分运行时数据区域程序计数器Java 虚拟机栈局部变量表本地方法栈Java 堆方法区运行时常量池直接内存 前言 刚开始看《深入理解Java虚拟机》,文章主要就...
本书摒弃了传统的以解读枯燥的Java虚拟机规范文档和分析繁琐的Java虚拟机源代码的方式来讲解Java虚拟机,取而代之的是,以实践的方式,引导读者如何从零开始构建和实现一个Java虚拟机,整个过程不仅能让读者做到对...
java虚拟机规范 Java SE7 java虚拟机规范 Java SE7 java虚拟机规范 Java SE7
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》共分7章。第1章从宏观的角度介绍了Java虚拟机与Java的关系及发展历程;第2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、...
java 虚拟机