基于JVM软件吗?如果是这样,JVM编码的语言是什么?
答案 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时,所有计算机程序均写入特定的操作系统,并且程序存储器由软件开发人员管理。
JVM是软件规范。 JVM规范以某种循环的方式强调指出,规范中未定义其实现细节,以便在实现时发挥最大的创造力。
因此,所有JVM要做的就是正确运行Java程序。听起来很简单,甚至从外面看起来也很简单,但这是一项艰巨的任务,特别是考虑到Java语言的强大功能和灵活性。
将文章检出到learn more about JVM。