Java JDK 和 JRE 有什么区别
很多人刚接触编程,尤其是学Java的新手,常会把JDK和JRE弄混,就像买电脑时分不清“整机”和“系统盘”的区别。其实这俩是Java生态里最基础的两个工具,没搞懂的话,要么装错软件没法写代码,要么运行不了程序。
先搞懂:Java的“运行逻辑”是什么
咱们用手机类比——你打开微信、刷短视频,本质是运行一个个“应用程序”。这些程序不是凭空运行的,得靠手机里的“安卓/iOS系统”当后台,负责把程序的指令翻译成手机能懂的操作,比如点屏幕就触发消息发送。

Java程序的运行也靠类似的“翻译官”,这个翻译官就是Java虚拟机(JVM)。而JDK和JRE,就是给不同需求的人准备的“工具包”。
JRE:专门用来“运行Java程序”的工具包
JRE的全称是Java Runtime Environment,翻译过来就是“Java运行环境”,说白了就是给已经写好的Java程序用的。
打个比方,你下载了一个用Java写的小游戏,双击图标就能玩,这时候电脑里就得有JRE:它就像游戏的“运行插件”,负责把游戏里的代码翻译成电脑能认的指令,让游戏不报错、能正常打开。
如果你的需求只是“运行别人做好的Java程序”,比如用Java写的办公小工具、小游戏,装JRE就够了。它的体积不大,只包含运行必须的JVM核心和基础类库,没有多余的东西。
JDK:既“运行”又“写程序”的全能工具包
JDK的全称是Java Development Kit,也就是“Java开发工具包”,它是给要写Java代码的人准备的,比JRE多了核心功能——写代码需要的编译器、调试工具。
再用买电脑类比:JRE像你买的“成品笔记本”,只能用里面的软件;JDK就像你买的“笔记本+编辑软件”,不仅能打开现成的文档(对应运行程序),还能自己新建文档、改内容(对应写代码)。
举个真实场景:你想写一个“自动提醒喝水”的小工具,就得用JDK里的编译器,把你敲的代码翻译成JVM能懂的格式,再打包成可运行的程序。如果只装JRE,你连代码都写不出来,更别说编译了。
总结:一句话分清俩工具
简单说,记住两个核心场景就不会混:
- 只需要“运行已有的Java程序”:装JRE就行;
- 需要“自己写Java代码、做开发”:必须装JDK(JDK里已经自带了JRE,不用额外装)。
很多新手装完JDK后找不到单独的JRE,其实它就在JDK的安装文件夹里,只是默认不单独显示——毕竟开发用的核心是JDK,JRE只是它的“附属运行环境”。
不少人踩过坑:比如学Java时只装了JRE,结果敲完代码编译不了;或者装了超大的JDK却只用来运行程序,浪费空间。搞懂这俩的区别,不管是装软件还是后续学习,都能少走很多弯路。