Java SE Development Kit和Java SE Runtime Environment区别

yumo6661周前 (06-08)技术文章7

Java SE Development Kit (JDK)、Java SE Runtime Environment (JRE) 和 Server JRE (Java SE Runtime Environment) 是 Java 平台的三个主要组件,它们各自有不同的用途和功能。以下是它们的区别:

1. Java SE Development Kit (JDK)

  • 定义
  • JDK 是 Java 开发工具包(Java Development Kit)的简称,是用于开发 Java 应用程序和小程序的完整软件开发工具包。
  • 用途
  • 提供了编译、调试和运行 Java 程序所需的所有工具和库。
  • 包括 Java 编译器(javac)、Java 虚拟机(JVM)、Java API 文档、调试器(jdb)、以及其他开发工具(如 jar、javadoc 等)。
  • 目标用户
  • 主要面向 Java 开发人员,用于开发、调试和部署 Java 应用程序。
  • 包含内容
  • 包括 JRE 的所有功能,以及开发工具和库。
  • 例如:lib 文件夹中包含源代码和调试符号。

2. Java SE Runtime Environment (JRE)

  • 定义
  • JRE 是 Java 运行时环境(Java Runtime Environment)的简称,是运行 Java 应用程序所需的最小环境。
  • 用途
  • 提供了运行 Java 应用程序所需的核心组件,包括 Java 虚拟机(JVM)、核心类库和运行时库。
  • 目标用户
  • 主要面向最终用户,用于运行 Java 应用程序。
  • 包含内容
  • 包括 JVM、核心类库、运行时库,但不包括开发工具(如编译器、调试器等)。
  • 例如:lib 文件夹中不包含源代码和调试符号。

3. Server JRE (Java SE Runtime Environment)

  • 定义
  • Server JRE 是专门为服务器环境设计的 JRE,优化了服务器端应用程序的性能和可靠性。
  • 用途
  • 用于运行服务器端 Java 应用程序,如 Java EE 应用服务器(如 Tomcat、WebLogic 等)。
  • 目标用户
  • 主要面向服务器管理员和企业级应用程序开发者。
  • 包含内容
  • 包括 JRE 的所有功能,并添加了一些针对服务器环境的优化和功能,例如:
    • 支持更大的内存分配。
    • 支持更多的并发线程。
    • 提供更好的性能和可靠性。
  • 例如:lib 文件夹中可能包含一些服务器端优化的类库。

总结

特性

JDK

JRE

Server JRE

用途

开发 Java 应用程序

运行 Java 应用程序

运行服务器端 Java 应用程序

目标用户

开发人员

最终用户

服务器管理员和企业级开发者

包含内容

开发工具 + JRE 的所有功能

运行 Java 应用程序所需的核心组件

JRE 的所有功能 + 服务器端优化

是否包含编译器

是否包含调试器

是否包含源代码

优化方向

开发工具和库

通用运行环境

服务器端性能和可靠性

选择建议

  • 如果你是开发者:安装 JDK,因为它包含了开发和运行 Java 应用程序所需的所有工具和库。
  • 如果你只需要运行 Java 应用程序:安装 JRE,它提供了运行 Java 应用程序所需的最小环境。
  • 如果你运行的是服务器端 Java 应用程序:安装 Server JRE,它针对服务器环境进行了优化,提供了更好的性能和可靠性。

相关文章

Java SE 对比 Java EE

Java SE vs Java EEJava SE(Java Platform,Standard Edition): Java 平台标准版,Java 编程语言的基础,它包含了支持 Java 应用程序开...

IntelliJ IDEA使用教程之Java SE开发:创建Package和Class

首先浏览一下这个项目的结构:有两个父节点:HelloWorld:这个节点代表你的Java模块。.idea 和 HelloWorld.iml用于分别存储项目和模块的配置数据。src存储的是源代码。Ext...

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'has valu...

JAVASE:注解与反射笔记

JavaSE:注解与反射(Annotation & Reflection) 注解和框架是所有框架的底层,如Mybatis,spring。框架的底层实现机制就是注解和反射。注解相比于注释,除了能较为直接...

IntelliJ IDEA使用教程之Java SE开发:开始一个项目

开始创建一个项目1.在开始菜单中选择Create New Project。2.在左边面板中选择Java:3.如果在IntelliJ IDEA中还没有定义JDK,单击New然后选择JDK:在Select...