java中class文件的意义是什么?

一、什么是.class文件

java的编译器在编译java类文件时,会将原有的文本文件(.java)翻译成二进制的字节码,并将这些字节码存储在.class文件。

也就是说java类文件中的属性、方法,以及类中的常量信息,都会被分别存储在.class文件中。当然还会添加一个公有的静态常量属性.class,这个属性记录了类的相关信息,即类型信息,是Class类的一个实例


二、class文件的意义

1)class文件(字节码)是跨平台的基础。有了class文件,JVM(java虚拟机)才能加载java类

具体请看java程序如何执行(原理)

2)java为什么可以跨平台:字节码和JVM的功劳咯

it allows the same binary/byte code to be executedon every machine by inserting virtual layer of JVM between byte code and machine.


三、class文件与java文件

java中class文件的意义是什么?


四、class文件与C语言编译后的执行代码有何区别

1)C语言源程序(.c文件),经编译器编译,由源代码生成机器指令,并加上描述信息,保存在.out文件(可执行文件)中。可执行文件能被操作系统加载运行,计算机执行该文件中的机器指令

2)class文件是类型信息,是一些二进制的字节码,由JVM识别、分析、执行


五、JVM与physical machine有关联吗?

有,一个是虚拟机,一个是物理机呗。

物理机是相对于虚拟机而言的对实体计算机的称呼。物理机提供给虚拟机以硬件环境,有时也称为“寄主”或“宿主”。

更细节的关联,我还不知道。。。