JVM概念 |
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行,也就是我们只需要使用一套java代码,在不同的平台上运行的时候选择不同版本的JVM就行了。大大减少了开发人员的工作量。
JVM结构简图 |
JVM相当于是计算机的一个软件,我们写的java代码跑在JVM虚拟机上,它有一个编译的过程:
上面说JVM相当于是一个虚拟的软件,可能有人会问:“平时开发的时候我好像也没有下载过JVM这款软件啊,一样能写代码正常开发……”
其实我们常用的JDK中就有JVM:
1.什么是JDK?
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。
2.什么是JRE?
JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)。
3.JDK、JRE、JVM三者的关系?
JDK
和JRE
是包含关系,JDK
中包含了JRE
,所以我们在使用java语言进行程序开发的时候,都会下载java jdk,实际上就是安装了java开发工具包,就可以在jvm上跑java程序了。