Java程序编译后生成的是 字节码文件。Java源文件(扩展名为.java)经过Java编译器(javac)编译后,会生成一个或多个以.class为后缀的字节码文件。字节码是一种中间形式的代码,它不直接依赖于特定的操作系统或硬件架构,而是依赖于Java虚拟机(JVM)。
具体来说,编译后的字节码文件包含以下部分:
类信息:
描述类的名字、修饰符(如public或private)、父类、接口以及注解等信息。
变量信息:
描述类变量的名字、修饰符、类型和注解等信息。
方法信息:
描述类方法的名字、修饰符、参数的类型和返回值的类型、方法的注解以及编译后的字节码形式的方法代码。
Java程序在运行时,Java解释器会将这些字节码文件翻译成具体硬件环境和操作系统平台下的机器代码,以便执行。这种设计使得Java程序具有平台无关性,即可以在任何安装了Java虚拟机的操作系统上运行。