Java虚拟机(JVM) - JVM编码的语言是什么?

时间:2010-03-24 07:35:35

标签: java jvm

基于JVM软件吗?如果是这样,JVM编码的语言是什么?

7 个答案:

答案 0 :(得分:7)

几乎所有JVM都是用软件实现的。但是,JVM是以符合Java bytecode的方式解释JVM specification的任何内容,并且还有一些hardware-based JVMs

答案 1 :(得分:5)

Java虚拟机是,通过将字节码解释为虚拟机操作集中的指令,虚拟机需要如何行为

如果有一些机制可以解释字节码并且行为正确,那么无论它是如何实现的, 都是。

这意味着JVM 可以在程序中实现,或者同样可以在硬件中实现。如果您想知道哪种情况,您需要谈论formal specification

答案 2 :(得分:4)

有点......它更像是一个标准,导致了许多软件。您无法100%确定JVM所使用的语言,但在大多数情况下,我敢打赌它是用C / C ++编写的。

答案 3 :(得分:1)

为了回答我认为你的问题,JVM是用C ++编写的。但是,大多数Java库都是用Java编写的。

同样适用于.NET:代码CLR / VM是用C ++编写的,但类库是用C#编写的。

答案 4 :(得分:0)

JVM代表“Java虚拟机”。它是一个虚拟化环境,为Java应用程序提供了一种在多个不同物理环境中以相同方式运行的方式。

这个想法是Java代码被编译并由JVM执行。 JVM为实际代码提供相同的外观和感觉,无论它是在大规模并行大型机上运行还是在运行Windows XP的单个处理器PC上运行。

目前,JVM正用于Java以外的语言(例如Scala)。

答案 5 :(得分:0)

JVM is a specification that provides runtime environment in which java bytecode can be executed.

Jvm将您的字节码解释为机器可理解的代码

JVM执行以下操作:

 - Loads code
 - Verifies code
 - Executes code
 - Provides runtime environment 

要做到这一点,必须编写代码,所以这里完成了规范的实现(sun主要提供)。
这个实现是 JRE

JVM也告诉我必须发生以下事情:

 - Memory area
 - Class file format
 - Register set
 - Garbage-collected heap
 - Fatal error reporting etc.

所以这一切都是软件,在这里查找详细信息JVM Details

答案 6 :(得分:0)

Java虚拟机是旨在执行其他程序的程序。

JVM具有两个主要功能:允许Java程序在任何设备或操作系统上运行(称为“一次编写,在任何地方运行”的原理),以及管理和优化程序内存。 1995年发布Java时,所有计算机程序均写入特定的操作系统,并且程序存储器由软件开发人员管理。

enter image description here

JVM是软件规范。 JVM规范以某种循环的方式强调指出,规范中未定义其实现细节,以便在实现时发挥最大的创造力。

因此,所有JVM要做的就是正确运行Java程序。听起来很简单,甚至从外面看起来也很简单,但这是一项艰巨的任务,特别是考虑到Java语言的强大功能和灵活性。

将文章检出到learn more about JVM