You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
Java虚拟机( JVM) 一种用于计算机设备的规范, 可用不同的方式( 软件或硬件) 加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。
Java虚拟机( JVM) 是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上, 就能保证经过编译的任何Java代码能够在该系统上运行。
Java虚拟机是一个想象中的机器, 在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件, 如处理器、堆栈、寄存器等, 还具有相应的指令系统。
Java虚拟机规范定义了一个抽象的——而非实际的——机器或处理器。这个规范描述了一个指令集, 一组寄存器, 一个堆栈, 一个“垃圾堆”, 和一个方法区。一旦一个Java虚拟机在给定的平台上运行, 任何Java程序( 编译之后的程序, 称作字节码) 都能在这个平台上运行。Java虚拟机( JVM) 可以以一次一条指令的方式来解释字节码( 把它映射到实际的处理器指令) , 或者字节码也可以由实际处理器中称作just-in-time的编译器进行进一步的编译。
Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行, 至少需要编译成不同的目标代码。而引入Java语言虚拟机后, Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息, 使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码( 字节码) , 就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时, 把字节码解释成具体平台上的机器指令执行。
Java虚拟机是Java语言底层实现的基础。这有助于理解Java语言的一些性质, 也有助于使用Java语言。对于要在特定平台上实现Java虚拟机的软件人员, Java语言的编译器作者以及要用硬件芯片实现Java虚拟机的人来说, 则必须深刻理解Java虚拟机的规范。另外, 如果你想扩展Java语言, 或是把其它语言编译成Java语言的字节码, 你也需要深入地了解Java虚拟机。