java语言 百文网手机站

java类文件是什么

时间:2021-05-01 19:20:20 java语言 我要投稿

java类文件是什么

  实现语言无关性的基础是虚拟机和字节码存储格式。Java虚拟机不和包括Java在内的任何语言绑定,只与"Class文件"这种特定的二进制文件所关联,Class文件中包含了Java虚拟机指令集合符号表以及若干其它辅助信息。Java虚拟机作为一个通用的、机器无关的执行平台,任何其他语言都可以将其作为语言的产品交付媒介。今天,小编为大家搜索整理了java类文件是什么,希望大家能有所收获,更多精彩内容请持续关注我们应届毕业生考试网!

  一、什么是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虚拟机往往只能处理一个给定的主版本号和其下的一些副版本号。虚拟机必须拒绝那些不再处理范围内的类 文件。

【java类文件是什么】相关文章:

java类文件内容介绍12-07

Java语言Class文件是什么10-03

java如何通过url读取文件09-28

java读取解析xml文件实例09-25

PHP文件是什么 如何打开PHP文件08-27

讲述java读取properties文件的方法12-02

关于java调用bat文件的方法11-29

Java类加载器类介绍11-30

C语言Java怎么获取文件名、类名、方法名和行号11-13

Java对象和类10-03