关于java的5个问题

时间:2011-05-06 01:45:04

标签: java compiler-construction jvm bytecode javac

1)javac.exe是sun的java编译器实现是真的吗,

2)并且java编译器被定义为将java源代码转换为java字节码的东西,

3)并且JVM被定义为接受java字节码作为输入并实际告诉机器执行操作的东西。

4)并且有许多不同类型的JVM,实际上不同的操作系统需要不同的JVM,

5)在Windows 98上运行的JVM与在Windows 7上运行的JVM不同?

4 个答案:

答案 0 :(得分:2)

烨。 (JVM = Java'虚拟'机器)

答案 1 :(得分:2)

  1. Yes
  2. Yes
  3. 它不会让我发布两个以上的链接,无论如何,简单的搜索会比等待回复更快地产生更多的信息。

答案 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运行的位置。