介绍
JVM全称Java Virtual Machine,翻译过来也就是Java虚拟机。
JVM的实际功能也是和翻译一样,类似于一台虚拟操作系统,是通过在实际的计算机上模拟各种计算功能来实现的。JVM有着自己完善的硬件架构,例如处理器、堆栈、寄存器等,还具有相应的指令系统。
JVM是JRE(Java Runtime Environment)的一部分,安装了JRE其实也就是相当于安装了JVM,可以运行Java程序了
作用
JVM在运行时负责将Java程序的.class文件解释成特定的机器码进行运行。
跨平台
通俗的说,JVM就像一个翻译机器人。把Java语言编译后的.class文件翻译成系统能读懂的机器码,按照每个程序员的想表达的意思,翻译成系统能懂的一系列指令,让系统实现程序员想要表达的功能。
当然这个翻译机器人并不是一对一翻译,那这样就太low了,JVM针对很多主流平台有着不同的解释器,意思就是JVM可以将Java语言通过各种不同的解释器翻译成各个平台(windows、linux等)能读懂的语言。
所以这也让Java程序有了跨平台性,Java开发程序员只需要通过Java的语法编写Java程序,剩下的就是在各个平台上下载安装特定的JRE或者JDK就好了。
跨语言
其实说的更具体的是JVM让JVM可识别的字节码文件.class文件实现了跨平台性。我们知道我们写好的Java文件(.java文件)最终都会翻译成.class,那,如果别的语言也翻译成了.class二进制字节码文件呢? 是不是也可以在JVM里运行?答案是肯定的,但是不是所有的.class文件都能在JVM里运行,JVM也有着自己的标准,只有遵循了这种标准的字节码文件对于JVM来说才是合法的。
正是因为跨平台、跨语言的特性,才造就了如今的Java生态圈,才有了这么多搬砖的Java程序员。