JVM Spec,JVM Implementation,JVM Runtime之间有什么区别

时间:2010-01-19 21:23:11

标签: java jvm

我读了下面这些词,但我想知道它们之间的差异......   JVM规范 JVM实施 JVM运行时

5 个答案:

答案 0 :(得分:16)

JVM规范:描述JVM应如何运作的文档。

JVM实现:基于JVM规范的JVM实现。

JVM Runtime:JVM实现的一个实例。

答案 1 :(得分:1)

jvm规范只是一个描述java虚拟机必须如何工作的文档。任何人都可以自由地采用该规范并构建自己的jvm实现。您可以将规范视为蓝图,并将实施视为您从中构建的房屋。作为承包商,只要遵循蓝图,您就可以自由地进行微小的改动,使用不同的材料等。

JVM运行时是实现。运行时是使用java命令时执行的内容。正如我所说,不同的公司已经从规范中创建了自己的jvm运行时实现。

答案 2 :(得分:1)

JVM Spec:一个文档,描述了理想虚拟机的功能和行为。这是一个灵活开发自己的虚拟机的指南,例如如何管理内存。

JVM实现:一个真正的虚拟机,它实现了JVM Spec。有很多JVM实现,比如HotSpot和JRockit,它们都有自己的特性,适用于不同的场景来解决不同的问题。

JVM Runtime:也许你的意思是“Java Runtime”。它是一个正在运行的JVM实现,Java应用程序正在该实现上执行。

答案 3 :(得分:0)

JVM运行时: 运行类文件或应用程序的JVM实例。

我们运行一个java类: java classFileName

所以在上面的命令; java实际上是jvm实例(或对象)。因此,在给定机器上运行的每个应用程序都有一个实例。因此,如果您的计算机上同时运行5个应用程序;这意味着有5个JVM实例。每个实例管理其应用程序。这样做是为了确保每个应用程序都在安全的环境中运行。

JVM实施:Java组件,可帮助您运行app / class文件。特定于平台的公司有不同的实现(如用于Windows的JVM的微软实现)

JVM Spec :实现JVM的规范。所有JVM实现都应遵循规范。

答案 4 :(得分:0)

JVM Spec是JVM的规范,描述了JVM应该是什么以及JVM应该支持什么功能。 JVM Implementation是供应商实现的真正JVM,JVM应该满足所有整个规范。 JVM Runtime是一个支持java指定功能的运行程序。