1)javac.exe是sun的java编译器实现是真的吗,
2)并且java编译器被定义为将java源代码转换为java字节码的东西,
3)并且JVM被定义为接受java字节码作为输入并实际告诉机器执行操作的东西。
4)并且有许多不同类型的JVM,实际上不同的操作系统需要不同的JVM,
5)在Windows 98上运行的JVM与在Windows 7上运行的JVM不同?
答案 0 :(得分:2)
烨。 (JVM = Java'虚拟'机器)
答案 1 :(得分:2)
答案 2 :(得分:1)
我会认为你提出这些问题是为了帮助你理解JAVA的一些基本概念,所以我们不要过分深入思考这里的许多“例外”。
1)Sun的编译器实现通常称为javac.exe,但其他编译器也可能将其可执行文件命名为javac.exe(我认为c表示编译器)。
2)还有更多内容,但这一般是正确的
3)这不是完全错误的。不同的JVM可能有不同的实现,但JVM的想法是将(假设的)通用字节码转换为可在该特定计算机上执行的机器/ OS特定代码。
4)大致正确。除了我们稍微松散地定义“不同的操作系统”。某些操作系统共享相同的体系结构,并且可以使用相同的JVM。对于相同的操作系统,也可以有不同的JVM实现。
5)我相信是真的。
答案 3 :(得分:1)
1)javac.exe是sun的java编译器实现是真的吗? - 这取决于,因为任何公司/开发人员都可以按照JVM规范分发Java编译器。
2)并且java编译器被定义为将java源代码转换为java字节码的东西, - 是的它将源代码编译成字节码
3)并且JVM被定义为接受java字节码作为输入并实际告诉机器执行操作的东西。 - 是的
4)并且有许多不同类型的JVM,实际上不同的操作系统需要不同的JVM, - 正确,对于每个操作系统,它应该有自己的JVM实现,你不能在Linux上运行Windows的JVM
5)在Windows 98上运行的JVM与在Windows 7上运行的JVM不同? - 是的
除了问题2,3,4,5之外,编译器还将源代码转换为字节码,以便JVM实现了解JVM运行的位置。