.class是什么文件啊?

.class是什么文件啊?,第1张

class文件全名称为Java class文件,主要在平台无关性和网络移动性方面使Java更适合网络。它在平台无关性方面的任务是:为Java程序提供独立于底层搜正主机平台的二进制形式的服务。

该文件打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和 *** 作系统的二森漏野进制此喊文件。

扩展资料:

class文件径打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和 *** 作系统的二进制文件。

通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Java class文件是可以运行在任何支持Java虚拟机的硬件平台和 *** 作系统上的二进制文件。

    .java源文件经过编译生成的.class便是字节码文件,但还不能被系统直接执行,通过JVM解释翻译后才可以被底层系统执行。

    1.魔数:头四个字节,CAFEBABE

    2.文件版本:java版本1.8 = 52,1.7 = 51……

    3.常量池:包含两部分 -- 字面量与符号引用

        ① 字面量:字符串文本、用final修饰的基本数据类型的值。(如申明的:String s = "abc"中的"abc",int i = 1中的1)。大白话:字面量是在编译期间就已有确定值的数据。

        ② 符号引用:类、接口、方法、字段的全名与描述符。在编译时,java类并不知道引用类的实际内桐瞎乎存地址,因此只能使用符号引用来代替。在类加载器链接阶段时才替换为具体的实际内存地址,即直接引用。

    4.访问标志:(类、属性、方法)的访问标志

        是class还是interface,是否public,是否abstract,是否定义了final等等。

    5.类/父类索引与接口索引集合

        类、父局悉类、接口集合的全限定名。

    6.字段表集合

        声明的类变量与实例变量的描述与结构。

    7.方法表集合

        声明的方法的描述与结构神判。

    8.属性表集合

        描述class文件,字段表,方法表某些场景专有的信息。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/tougao/12195239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存