javac编译器是否依赖JVM编译代码及起源相关技术问询
Java编译器javac相关问题解答
问题1:若javac由Java编写,编译Java源代码是否需要启动JVM?
是的,必须启动JVM。因为javac本身是编译后的Java字节码文件,要运行javac程序,就需要JVM加载并执行它的字节码,之后javac才能完成将Java源代码编译为字节码的工作。
问题2:若javac由Java编写,它是由哪个编译器编译而成?
你的推测是正确的:最初版本的javac是用C语言编写的,这是一个自举编译器。当这个初代C版javac能正常编译Java代码后,后续的javac就可以用Java语言编写,然后用已有的javac(包括初代C版或后续Java版)来编译,形成自举循环。现在的现代Java编译器,都是基于这个自举过程逐步迭代而来的。
内容的提问来源于stack exchange,提问作者KRISHNA VAMSI
相关产品推荐
相关产品推荐

