JVM简介
JVM是Javavirtualmachine(Java虚拟机)的缩写。JVM是计算设备的标准。它是一台虚构的计算机,通过模拟和模拟实际计算机上的各种计算机功能来实现。Java虚拟机包括一套字节码指令集、一组寄存器、一堆栈、一个垃圾回收堆和一个存储方法区域。JVM屏蔽了与特定操作系统平台相关的信息,使Java程序可以在多个平台上运行,无需修改,只需生成目标代码(字节码)即可在Java虚拟机上运行。JVM在执行字节码时,实际上最终将字节码解释为特定平台上的机器指令。
JVM是JRE的一部分。它是一台虚构的计算机,通过在实际计算机上模拟各种计算机功能来实现。JVM有自己完善的硬件结构,如处理器、堆栈、寄存器等,并有相应的指令系统。Java语言最重要的特点是跨平台运行。JVM的使用是支持与操作系统无关的跨平台。
JVM作用
Java中的所有类别必须装载到jvm中才能运行。装载工作由jvm中的类装载器完成。类装载器的工作本质是从硬盘读取文件到内存。
JVM执行编译Java程序代码(Applet和应用程序)的中央处理器(CPU)软件操作。
JVM通常被称为java虚拟机。它是整个java跨平台实现的核心部分。所有java程序将首先编译成。可以在虚拟机上执行的class文件。换句话说,class并不直接对应于机器的操作系统,而是通过虚拟机间接与操作系统交互,虚拟机向当地系统解释程序。当然,只有JVM不能执行class,因为JVM在解释class时需要调用类库lib来解释所需的类库,而包括lib类库。
JVM屏蔽了与特定操作系统平台相关的信息,因此Java程序可以在不修改的情况下在各种平台上运行,只需生成在Java虚拟机上运行的目标代码(字节码)。
JVM特性
1)移植性
GC和Hotspot可以在Java可用的任何地方使用。例如,Jruby可以在其他平台上运行,Rails应用程序可以在IBM主机上的Jruby上运行,IBM主机运行CP/CMS。事实上,由于Java和OpenJDK项目的开源,我们看到越来越多的平台衍生,所以JVM的移植性会越来越好。
2)成熟
JVM已经有15多年的历史了。在过去的几年里,许多开发人员为此做出了许多贡献,一次又一次地提高其性能,使JVM更加稳定、快速和广泛。
3)覆盖面
Jruby和JVM上的其他语言项目已经被开发者认可。一个典型的例子是invokedynamicspecification(akaJSR292)。JSR越来越配合新语言,JVM不再是Java定制的规则。JVM正在打造Jruby等项目的优秀平台。