| 会员登陆 |
|
| 代考详细流程 |
|
|
| IT代考--本站服务 |
itsky100.com- IT认证代考 联盟的 代考 机构,提供 CCNA 代考 ,MCSE 代考 ,MCP 代考 ,CCNP 代考 ,JAVA 代考 ,ORACLE 代考 等各种IT 认证替考 服务。 |
| 免费提供 IT认证 学习资料 考试题库 CCNA CCNP JAVA CIW MCSE MCSD教学资料 免费下载。 |
| IT认证代考 ,具体操作在我们的考试中心进行,通过百分百,请您绝对放心。 |
|
|
|
| |
| |
| |
| |
| |
|
|
一、什么是Java类文件 Java类文件是Java程序的二进制表示形式。每一个类文件代表一个类或者接口。不可能在一个类文件中放入多个类或者接口。这样就使得无论类文件是在哪一种平台上生成,都可以在任何主机上执行。 虽然类文件是Java体系结构的一部分,但是他并不是与Java语言不可分的。你可以将其他语言的程序编译为类文件,也可以将Java程序文件编译为其他二进制形式。 Java类文件是一个基于8-bit字节的二进制流。数据块顺序的、无分割符的、big-endian的形式存储。 二、类文件的内容 Java的类文件中包含了所有Java虚拟机所需要的关于类和接口的信息。所有类文件中的信息都以以下的四种基本类型的存储: Table 6-1. Class file "primitive types" u1 a single unsigned byte u2 two unsigned bytes u4 four unsigned bytes u8 eight unsigned bytes 类文件中的主要部分以表6-2的顺序存储: Table 6-2. Format of a ClassFile Table Type& #9;Name Count u4 magic 1 u2 minor_version 1 u2 major_version 1 u2 constant_pool_count 1 cp_info constant_pool constant_pool_count-1 u2 access_flags 1 u2 this_class 1 u2 super_class 1 u2 interfaces_count 1 u2 interfaces interfaces_count u2 fields_count 1 field_info fields fields_count u2 methods_count 1 method_info methods methods_count u2 attributes_count 1 attribute_info attributes attributes_count 1、魔术编码(magic) 每一个Java类文件的开头四个字节都是魔术编码(OxCAFEBABE)。通过魔术编码可以很容易识别类文件。 2、副版本号和主版本号(minor_version and major_version) 剩下的四个字节是副版本号和主版本号。但Java技术在进化时,一些新的特性可能会被加入到类文件中。每一次类文件格式的变化,都会相应的改变版本号。虚 拟机通过版本号来识别自己能够处理的类文件。Java虚拟机往往只能处理一个给定的主版本号和其下的一些副版本号。虚拟机必须拒绝那些不再处理范围内的类 文件。 3、常量个数和常量池(constant_pool_count and constant_pool) 接下来的就是常量池,常量池中包含了哪些被类或者接口访问过的常量,比如:字符串,常量(final variable values),类名,方法名。常量池作为一个列表存储。列表中常量的个数就是之前保存的“constant_pool_count”。 |
|
|
|
|