什么是jdk jre
别再混淆了!JDK和JRE的"亲兄弟"关系,看完秒懂
你有没有想过,手机里那个每天用的Java小游戏、电脑上双击就能打开的Java软件,背后都藏着一个"隐形管家"?这个管家分两个角色:一个负责"启动程序",另一个负责"写程序"——它们就是JRE和JDK。
先搞懂:Java程序运行的"最小生存环境"

JRE(Java Runtime Environment),可以理解为Java程序的"基础运行环境"。它就像给手机充电的充电器,虽然本身不能生产电,但能让设备正常运行。
JRE包含三个核心部分:Java虚拟机(JVM)、核心类库和其他辅助工具。其中JVM是"翻译官",它能把Java代码(.class文件)翻译成电脑能懂的机器语言;核心类库则是现成的"工具箱",比如处理字符串、网络连接的代码都在里面。
普通人只要安装JRE,就能运行任何Java程序——就像你不用自己造车,只要加油就能开别人造好的车。比如你电脑上装了微信(部分功能用Java开发),双击打开时,其实是JRE在默默工作:先通过JVM把微信的Java代码"翻译"成机器指令,再调用类库完成界面渲染和数据处理。
再认识:Java开发的"全能工具箱"
JDK(Java Development Kit)是Java开发的"顶配版工具包",比JRE多了一堆"开发专用工具"。它不仅包含JRE的全部内容,还额外提供了编译器(javac)、调试器(jdb)、文档生成器(javadoc)等。
想象一下,JRE是"只能开别人的车",而JDK是"既能开车,还能自己造车、修车"。编译器能把你写的Java代码(.java文件)编译成JVM能识别的.class文件;调试器能帮你找出代码里的bug;文档生成器则能自动生成API文档,让别人看懂你的代码。
对开发者来说,JDK是"饭碗"——写一个Java程序,从敲代码到编译运行,全靠JDK里的工具链支持。比如你要开发一个新的购物APP,用JDK的javac编译代码,用jdb调试,最后用javadoc生成用户手册,这些都离不开JDK。
关键区别:JDK是JRE的"豪华升级版"
最容易混淆的点来了:JDK和JRE到底啥关系?答案很简单——JDK包含JRE。
JRE是JDK的"基础组件",就像汉堡里的肉饼,JDK是整个汉堡(肉饼+面包+配菜)。你如果想开发Java程序,必须先有JDK(因为要编译代码),而JDK里已经自带了JRE,不需要单独安装。
举个例子:你买了个带"烹饪功能"的电饭煲(JDK),它自带"保温功能"(JRE),但如果你只想用它加热米饭(运行程序),直接用基础功能(JRE)就够了;但如果你想自己做饭(开发程序),就得用它的全套工具(JDK)。
怎么选?看你的需求!
- 只想运行Java程序(比如玩Java游戏、用Java软件):装JRE就够了,轻便不占空间。
- 要开发Java程序(比如写代码、做APP、搞后端):必须装JDK,它是开发的"标配"。
很多新手会犯的错误是:明明只是想玩个Java小游戏,却装了JDK(可能导致电脑卡顿);或者写代码时发现没装JDK,编译报错才手忙脚乱。记住这个口诀:运行用JRE,开发用JDK。
最后:为什么要分清它们?
JDK和JRE的关系,本质是"开发环境"和"运行环境"的区别。对普通用户而言,JRE是"终点"——让程序跑起来;对开发者而言,JDK是"起点"——让程序被创造出来。
理解了它们,你就不会再对着"安装JDK还是JRE"的问题纠结,也能明白为什么Java能跨平台运行(JVM的存在)。下次看到手机里的Java程序,你就知道:是JRE在默默守护它的运行,而JDK则是开发者为它敲下第一行代码的秘密武器。
毕竟,每个Java程序的诞生,都离不开JDK的"造桥铺路"和JRE的"架桥通车"。








