Java SE JRE 或 Java SE JDK 发行版之间的差异

Java SE 的 Sun / Oracle 版本有两种形式:JRE 和 JDK。简单来说,JRE 支持运行 Java 应用程序,JDK 也支持 Java 开发。

Java 运行时环境

Java Runtime Environment 或 JRE 发行版由运行和管理 Java 应用程序所需的一组库和工具组成。典型的现代 JRE 中的工具包括:

  • 用于在 JVM(Java 虚拟机)中运行 Java 程序的 java 命令
  • 用于运行 Nashorn Javascript 引擎的 jjs 命令。
  • 用于操作 Java 密钥库的 keytool 命令。
  • 用于编辑安全沙箱安全策略的 policytool 命令。
  • pack200unpack200 工具用于打包和解包 pack200 文件以进行 Web 部署。
  • 支持 Java CORBA 和 RMI 应用程序的 orbdrmidrmiregistrytnameserv 命令。

“桌面 JRE”安装程序包括适用于某些 Web 浏览器的 Java 插件。这是故意遗漏的 Server JREinstallers.linux 系统调用读取基准测试

从 Java 7 更新 6 开始,JRE 安装程序包含 JavaFX(2.2 或更高版本)。

Java 开发工具包

Java Development Kit 或 JDK 发行版包括 JRE 工具以及用于开发 Java 软件的其他工具。其他工具通常包括:

  • javac 命令,它将 Java 源代码(“。java”)编译为字节码文件(“.class”)。
  • 用于创建诸如 jarjarsigner 等 JAR 文件的工具
  • 开发工具如:
    • appletviewer 用于运行 applet
    • idlj CORBA IDL 到 Java 编译器
    • javah JNI 存根发生器
    • native2ascii 用于 Java 源代码的字符集转换
    • schemagen Java 到 XML 模式生成器(JAXB 的一部分)
    • serialver 生成 Java Object Serialization 版本字符串。
    • 用于 JAX-WS 的 wsgenwsimport 支持工具
  • 诊断工具如:
    • jdb 是基本的 Java 调试器
    • jmapjhat 用于转储和分析 Java 堆。
    • jstack 用于获取线程堆栈转储。
    • javap 用于检查“.class”文件。
  • 应用程序管理和监视工具,例如:
    • jconsole 一个管理控制台,
    • jstatjstatdjinfojps 用于应用程序监控

典型的 Sun / Oracle JDK 安装还包括一个 ZIP 文件,其中包含 Java 库的源代码。在 Java 6 之前,这是唯一公开可用的 Java 源代码。

从 Java 6 开始,可以从 OpenJDK 站点下载 OpenJDK 的完整源代码。它通常不包含在(Linux)JDK 包中,但可作为单独的包提供。