JDK(Java Development Kit,Java 开发工具包)
定义:::Java 开发工具包,是 Java 开发人员用于开发 Java 程序的工具集合。它包含了 JRE 和一系列开发工具,如编译器(javac)、调试器、打包工具(jar)等。
功能范围:功能最为全面,不仅可以运行 Java 程序,还可以开发和编译 Java 程序。如果你是 Java 开发人员,需要使用 JDK 来编写、编译和调试 Java 代码。
使用场景:适用于 Java 开发人员,在开发 Java 应用程序、Web 应用、Android 应用等场景中使用。
JRE(Java Runtime Environment,Java 运行环境)
定义:Java 运行时环境,是运行 Java 程序所必需的环境。它包含了 JVM 和 Java 核心类库以及支持文件,为 Java 程序提供了运行时所需的各种资源。
功能范围:主要用于运行 Java 程序,如果你只是需要运行已经编译好的 Java 程序,那么只需要安装 JRE 即可。
使用场景:适用于普通用户,当用户需要运行 Java 程序时,只需要安装 JRE 即可。
JVM(Java Virtual Machine,Java 虚拟机)
定义:java 虚拟机,是 Java 程序的运行核心。它负责加载字节码文件,并将字节码解释或编译成机器码,在不同的操作系统上提供统一的运行环境,实现了 Java 程序的 “一次编写,到处运行” 的特性。
功能范围:专注于执行 Java 字节码,它是 Java 程序运行的基础,负责内存管理、垃圾回收、线程管理等底层操作。
使用场景:是 Java 程序运行的基础,所有的 Java 程序都在 JVM 上运行,无论是开发环境还是生产环境都离不开 JVM。