- JVM(Java Virtual Machine,Java虚拟机): -JVM是Java程序的运行平台,它是一种抽象化的计算机,可以将编译后的Java字节码(.class文件)转换为特定操作系统能够执行的机器码。
- 它负责管理内存分配、垃圾回收、线程管理等底层服务,使得Java具有“一次编写,到处运行”的跨平台能力。
- JRE(Java Runtime Environment,Java运行时环境):
- JRE是运行Java程序所必需的环境,包含了JVM以及Java类库、基础模块等运行时所需的组件。
- 对于只想运行Java应用程序的最终用户来说,只需安装JRE,无需完整的开发工具。
- JRE确保了Java程序可以在任何安装了相应版本JRE的设备上运行,而无需关心底层操作系统。
- JDK(Java Development Kit,Java开发工具包): -JDK是为Java开发者提供的一个全面的软件开发包,它包含了JRE,同时加入了开发工具,比如编译器(javac)、调试器(jdb)、文档生成器(javadoc)等。 -开发者需要JDK来编写、编译、调试和打包Java应用程序或库。
- 简单来说,JDK = JRE + 开发工具集。
JVM指的是Java的虚拟机,Java程序需要运行在虚拟机上,不同的平台都有自己的虚拟机,所以Java语言实现了跨平台。
JRE指的是Java的运行时环境,包括需要的大量的类库和Java的虚拟机。
JDK指的运行时候的需要的一些工具类和运行时环境,比如包括javac.exe ,javadoxc.exe 一系列用于编译字节码工具 打包文档的工具
关系总结:
- 层次结构上,JDK包含JRE,JRE中则包含了JVM。
- 功能定位上,JDK服务于开发,JRE服务于运行,而JVM是运行Java程序的核心,负责解释执行字节码。