Javac是如何编译成可执行文件的?
Javac是如何编译成可执行文件的?,java,javac,Java,Javac,Javac本身是用Java编写的,但在下载JDK时,它是作为可执行文件提供的。使用什么工具将Javac的Java源代码编译成可执行文件?JDK,通常是您正在构建的JDK的N-1版本,以及C/C++编译器。至少对于OpenJDK来说,Oracle提供的支持是在Linux、macOS和Windows上。此外,SAP使用维护AIX构建。Graal编译器应该这样做,但它基本上在可执行文件中包含JVM的精简版本,这与Javac不同,我认为任何自尊心强的编译器都可以自行编译。因为Javac是用Java编写的
Javac
本身是用Java编写的,但在下载JDK
时,它是作为可执行文件提供的。使用什么工具将Javac
的Java源代码编译成可执行文件?JDK,通常是您正在构建的JDK的N-1版本,以及C/C++编译器。至少对于OpenJDK来说,Oracle提供的支持是在Linux、macOS和Windows上。此外,SAP使用维护AIX构建。Graal编译器应该这样做,但它基本上在可执行文件中包含JVM的精简版本,这与Javac
不同,我认为任何自尊心强的编译器都可以自行编译。因为Javac是用Java编写的,所以您应该能够使用Javac编译Javac源代码。@RobertHarvey,我相信只有当Javac将源代码编译成机器代码时才是这样,但事实并非如此。它将它们编译成字节码。。。是的,它可以将自己编译成字节码,但是我们如何得到机器码呢?我想,就像你得到任何其他Java可执行文件的机器码一样:使用JIT。谢谢!你有关于我如何自己编译它的更多信息吗?bootjdk链接是一个循序渐进的指南。请注意,虽然在Linux上构建非常简单,但在Windows上构建非常困难,请遵循链接中提到的每一步,在macOS上,如果Xcode版本不同,您将最终与操作系统发生冲突。另外,SSD帮助很大。谢谢!知道了!