我没有看到gij被列为http://en.wikipedia.org/wiki/List_of_Java_virtual_machines上的Java虚拟机之一,我也没有在这里发帖子谈论这个。谁能告诉我gij是否是JVM,如果没有,请解释gij中缺少的是什么或者有什么区别?感谢。
答案 0 :(得分:2)
来自The Java Virtual Machine Specification:
但是,Java虚拟机可以 不假设任何特别的 实施技术,主持人 硬件或主机操作系统。它 本质上不是解释,但可以 同样也要实施 编译其指令集 一个硅CPU。它也可能是 以微码或直接实现 在硅片中。
因此GCJ可以称之为Java虚拟机和GIJ,因为它是一个解释器,更是如此。 JVM的唯一要求是它执行Java字节代码。
如果您仔细查看维基百科页面,可以在Java虚拟机的“基础和主要实现”中的底部框中看到GCJ。
答案 1 :(得分:0)
我没有看到任何明显的理由不将GNU gij称为Java虚拟机...模糊显而易见的一点是,由于Oracle对TCK的立场,它无法验证。
我会说这是维基百科列表中的“错误”,而不是对gij的反思。
(只是查看列表,我发现并修复了另一个错误。它说JNode使用了GNU Classpath,它现在已经没有用了几年。如果列表出错了,那就错了其他的事情。)