【发布时间】:2020-09-05 14:20:38
【问题描述】:
在 C++ 中,文件生成为 .cpp,编译后变为 .obj,最后链接后变为 .exe。 Java 文件的最后阶段是什么?它最初是.java,在编译时它变成.class。接下来是什么?在它的最后阶段会发生什么?会变成.exe文件吗?
【问题讨论】:
-
可能(但不常见)。通常它要么保留一个类,要么打包在一个 jar 中。
-
"它会变成 .exe 文件吗?" - 不会。或者至少不会正常。
.class文件由 JVM 加载。 JVM 附带了一个即时编译器,可以将字节码编译成机器码,但这些代码通常不会出现在磁盘上。 GraalVM 能够将.jar文件(基本上是包含.class-files 的档案)编译为可执行文件。 -
类文件主要是最后阶段,因为它包含 java 字节码。类文件中的 Java 字节码由 Java 虚拟机解释,它还负责查找/解析类文件之间的链接(例如,类文件 A 引用类文件 B)以找到要执行的 Java 字节码。
-
任何初学者 Java 书籍都包含您问题的答案,例如 Head First Java。还有一些在线资源可以回答您的问题,例如 Oracle 的 Java 教程的 Getting Started 线索。在发布您的问题之前,您是否进行了任何研究?请参考How much research effort is expected of Stack Overflow users?
标签: java