JVM软件是基于?如果是这样,JVM编码的语言是什么?
几乎所有JVM都是用软件实现的。然而,JVM是以符合Java bytecode的方式解释JVM specification的任何东西,并且还有一些hardware-based JVMs。
Java虚拟机是一个formal specification,它通过将字节码解释为虚拟机操作集中的指令来了解虚拟机的行为方式。
如果有一些机制可以解释字节码并且行为正确,那么它就是一个JVM,无论它是如何实现的。
这意味着JVM可以在程序中实现,也可以在硬件中实现。如果你想知道哪种情况,你需要谈论some specific implementation。
有点......它更像是一个标准,导致了许多软件。您无法100%确定JVM编写的语言,但在大多数情况下,我敢打赌它是用C / C ++编写的。
为了回答我认为你的问题,JVM是用C ++编写的。但是,大多数Java库都是用Java编写的。
同样适用于.NET:代码CLR / VM是用C ++编写的,但类库是用C#编写的。
JVM代表“Java虚拟机”。它是一个虚拟化环境,为Java应用程序提供了一种在多个不同物理环境中以相同方式运行的方式。
这个想法是Java代码被编译并由JVM执行。 JVM为实际代码提供了相同的外观和感觉,无论它是在大规模并行大型机上运行还是在运行Windows XP的单个处理器PC上运行。
目前,JVM正用于Java以外的语言(例如Scala)。
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
Java虚拟机是一个程序,其目的是执行其他程序。
JVM有两个主要功能:允许Java程序在任何设备或操作系统上运行(称为“一次写入,随处运行”原则),以及管理和优化程序存储器。当Java于1995年发布时,所有计算机程序都被写入特定的操作系统,程序存储器由软件开发人员管理。
JVM是一种软件规范。以某种循环方式,JVM规范强调其实现细节未在规范中定义,以便在其实现中实现最大的创造性。
因此,JVM所要做的就是正确运行Java程序。听起来很简单,甚至可能从外部看起来很简单,但这是一项艰巨的任务,特别是考虑到Java语言的强大功能和灵活性。
查看learn more about JVM的文章。