JVM是Java Virtual Machine(Java虚拟机)的缩写,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
JVM(Java Virtual Mechinal)是JRE的一部分,叫做JAVA虚拟机,它是整个java实现跨平台的最核心的部分,负责解释执行并运行字节码文件(.class)。
所有平台的上的JVM向编译器提供的接口都相同,编译器只需要面向虚拟机再生成虚拟机能识别的代码,然后虚拟机就可以解释执行了。
当使用Java编译器编译Java程序时生成的字节码文件可以在多种平台上不加修改地运行(但与任何平台无关),这些字节码只面向JVM。
虽然不同平台的JVM都不同,但提供的接口都相同。JVM是Java程序跨平台的关键部分,只要不同平台有相应的虚拟机,编译后的Java字节码都可以在其平台上运行。
JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础的类库。不论什么Java应用服务器其实都内置了某个版本的JDK。
其中JDK安装好后有几个重要的文件夹为:
bin:存放编译器和工具,包含了最主要的是编译器(javac.exe)
include:Java 和 JVM 交互用的头文件,编译本地方法的文件
lib:存放类库文件
jre:Java 运行环境
JRE是(Java Runtime Environment)指Java运行环境,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。jdk它是给开发者提供的开发工具箱,是给程序开发者用的。
它除了包括完整的JRE,Java运行环境,还包含了其他供开发者使用的工具包。所以普通用户并不需要安装JDK来运行Java程序,只需要安装JRE。但是程序开发者必须要安装JDK来编译、调试程序。