史上最全JVM性能调优:线程+子系统+类加载+内存分配+垃圾回收( 四 )

JVM是Java Virtual Machine(Java 虚拟机)的缩写 , JVM是一种用于计算设备的规范 , 它是一个虚构出来的计算机 , 是通过在实际的计算机上仿真模拟各种计算机功能来实现的 。

Java语言的一个非常重要的特点就是平台无关性 。 而使用Java虚拟机是实现这一特点的关键 。 一般的高级语言如果要在不同的平台上运行 , 至少需要编译成不同的目标代码 。 而引入Java语言虚拟机后 , Java语言在不同平台上运行时不需要重新编译 。 Java语言使用Java虚拟机屏蔽了与具体平台相关的信息 , 使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码) , 就可以在多种平台上不加修改地运行 。 Java虚拟机在执行字节码时 , 把字节码解释成具体平台上的机器指令执行 。 这就是Java的能够“一次编译 , 到处运行”的原因 。

JVM有哪些特性?

1、移植性

无论是GC还是Hotspot都可以用在任何Java可用的地方 。 比方说 , JRuby可以运行在其他平台上 , Rails应用就可以运行在IBM主机上的JRuby上 , 而且这台IBM主机运行的是CP/CMS.实际上 , 由于Java和OpenJDK项目的开源 , 我们正在看到越来越多的平台的衍生 , 因此JVM的移植性也将越来越棒 。

推荐阅读