jre jdk

本文分享了一位Java初学者由于混淆JDK与JRE导致的学习障碍经历,作者耗费五小时才发现问题所在,希望借此提醒其他新手正确区分这两个概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果开始就不懂,不理解,这6个小小的英文字母,非常非常容易迷惑.今天我终于重新拾起勇气.再次努力从头开始学习Java..可是从一开始就困惑着我,足足让我实验了5个小时,而问题的根本仅仅就是因为我错把JRE看作是JDK.一个基本配置,一个开发工具,开头错,满盘皆输!我想我一辈子再也不会犯这么蠢的一个错误!

### JRE vs JDK:区别及各自用途 #### JRE(Java Runtime Environment) JRE 是 Java 运行时环境,主要作用是提供运行 Java 应用程序所需的组件。它包括 Java 虚拟机 (JVM)、核心类库以及其他支持文件。用户在仅需要运行 Java 程序而不进行开发时,只需安装 JRE 即可[^3]。 - **功能**: - 提供 JVM 来执行 Java 字节码。 - 包含标准类库(如 `java.lang`、`java.io` 等)以支持常见编程任务。 - 不包含编译器、调试器等开发工具。 - **用途**: - 适用于最终用户,用于运行已编译的 Java 应用程序(例如桌面应用或 Web 小程序)。 - 在生产环境中部署 Java 应用时通常只需要 JRE。 #### JDK(Java Development Kit) JDK 是 Java 开发工具包,面向开发者,不仅包含 JRE 的所有内容,还额外提供了开发和调试 Java 程序所需的工具。因此,JDK 是进行 Java 编程所必需的软件包[^2]。 - **功能**: - 包括完整的 JRE 功能。 - 提供编译器 (`javac`) 用于将 `.java` 源代码文件编译为 `.class` 字节码文件。 - 包含调试工具 (`jdb`) 和文档生成工具 (`javadoc`)。 - 支持打包工具 (`jar`) 以及性能分析工具 (`jvisualvm`) 等。 - **用途**: - 主要用于编写、编译和调试 Java 程序。 - 开发人员在开发阶段必须安装 JDK。 - 它内置了一个 JRE,可以用来运行 Java 应用,但在某些情况下可能会使用系统中单独安装的 JRE。 #### 两者之间的关系与差异 虽然 JDK 内部包含一个 JRE,但这并不意味着这两个 JRE 之间有直接联系。实际上,它们彼此独立,且功能完全相同。无论使用哪一个 JRE,都可以正常运行 Java 程序。许多用户习惯上会同时安装 JDK 和独立的 JRE,尽管后者可能并未被实际使用,这主要是因为对 JDKJRE 关系理解不足所致[^1]。 | 特性 | JRE | JDK | |------|-----|-----| | 目标用户 | 最终用户 | 开发者 | | 是否包含 JVM | ✅ | ✅ | | 是否包含开发工具 | ❌ | ✅ | | 是否适合运行程序 | ✅ | ✅ | | 是否适合开发程序 | ❌ | ✅ | #### 示例:查看 JDK 自带 JRE 的路径 ```shell # 在命令提示符中输入以下命令,假设 JDK 已正确安装 cd "C:\Program Files\Java\jdk1.8.0_291" dir jre ``` 此命令显示 JDK 安装目录下的 `jre` 文件夹,证明 JDK 内置了 JRE。 #### 总结 - **JRE** 专为运行 Java 应用设计,不提供开发能力。 - **JDK** 是更全面的工具集,包含了 JRE 并扩展了开发相关功能。 - 如果目标仅为运行 Java 程序,则安装 JRE 足够;如果需要编写和调试 Java 代码,则应安装 JDK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值