我读了下面这些词,但我想知道它们之间的差异...... JVM规范, JVM实施, JVM运行时
答案 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指定功能的运行程序。