Jvm GNUGij可以被看作是Java虚拟机吗?

Jvm GNUGij可以被看作是Java虚拟机吗?,jvm,java,Jvm,Java,我没有看到gij被列为上的Java虚拟机之一,我也没有在这里找到谈论这一点的帖子。有人能告诉我gij是否是JVM吗?如果不是,请解释gij中缺少了什么或有什么区别?谢谢。我看不出任何明显的理由不把GNU gij称为Java虚拟机。。。模块化明显的一点是,由于Oracle在TCK上的立场,它永远无法被验证 我认为这是维基百科列表中的一个“bug”,而不是gij的反映 (只是浏览一下列表,我发现并修复了另一个bug。它说JNode使用了GNU类路径,这已经有几年没有使用了。如果列表可能出错,那么在其

我没有看到gij被列为上的Java虚拟机之一,我也没有在这里找到谈论这一点的帖子。有人能告诉我gij是否是JVM吗?如果不是,请解释gij中缺少了什么或有什么区别?谢谢。

我看不出任何明显的理由不把GNU gij称为Java虚拟机。。。模块化明显的一点是,由于Oracle在TCK上的立场,它永远无法被验证

我认为这是维基百科列表中的一个“bug”,而不是gij的反映

(只是浏览一下列表,我发现并修复了另一个bug。它说JNode使用了GNU类路径,这已经有几年没有使用了。如果列表可能出错,那么在其他方面也可能出错。)

来源:

然而,Java虚拟机确实如此 不承担任何特殊责任 实现技术,主机 硬件或主机操作系统。信息技术 不是天生的解释,但可以 不如由 编译它的指令集 一个硅CPU的设计。也可能是 用微码实现或直接实现 在硅中

因此,GCJ可以被正确地称为Java虚拟机和GIJ,因为它是一个解释器,更是如此。JVM的唯一要求是执行Java字节码


如果您更仔细地查看Wikipedia页面,您会在Java虚拟机的“基础和主要实现”中列出的底部框中看到GCJ。

What?!怪胎有什么不对吗?但那是不可能的!!也许注意到其他“java字节码处理”实现(或者部分实现,也许是GCJ更好的术语),比如他们如何(或者不一定)考虑“JVM”——至少在维基百科的眼中,Dalvik不是JVM。(有人可能会说编译成Dalvik字节码和编译机器指令没什么区别……这会使它成为一个JVM,无论如何)。我认为,归根结底,这必须从遵从性(包括Java内存模型的所有细微差别等)的角度来解决。在我看来,这是JVM实现的“质量”问题。一个实现可能能够正确运行字节码程序,而其他实现则不能。甚至Oracle HotSpot VM也可能由于错误而无法执行指定的某些字节码序列。还要注意,GCJ本身并不是VM,只是与执行编译程序的处理器结合使用。而且,它仍然无法根据需要动态加载类文件。这就是GIJ发挥作用的地方。一个相关的问题:GIJ也可以被视为JRE吗?从wiki上看,JRE和JRE之间没有明确的区别。为了强调JVM没有基本类库和启动器,人们有时将“裸”JVM称为独立JVM。你们经常使用这些术语吗?@SDE JVM执行Java字节码。它不负责提供一组预定义的库——从某种意义上说,处理器不负责提供一个C标准库。