💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# JDK JRE 与 JVM 在JAVA的学习中,我们绝对离不开JDK\JRE\JVM,那么它们都是什么呢,它们之间是否存在相关的关系,如果存在,三者间的关系又是什么呢? 下图如实的描述了三者关的关系: ![](https://box.kancloud.cn/306c5611a6a336ded10a066c4f831161_369x287.png) # JDK JDK = Java Development Kits 即:JAVA开发工具包。 我们可以把编写代码比做是制造汽车。JDK则相当于汽车制造中的机器人。 JDK是开发JVAV程序的必备工具包,没有JDK,就开发不了JAVA应用程序。JRE是JDK的一部分。比如在开发过程中,用于调试的断点,就是JDK提供的。比如将我们编写的hello.java源程序编译为hello.class可执行程序也是JDK提供的功能的一部门。 # JRE JRE JAVA Runtime Environment. JAVA运行环境 一个新的型号的汽车生产,需要提前在实验场进行各种实验,所以每家汽车企业都有实验场地。而JAVA编写后的实验场地即是JRE. 如果JAVA开发的软件是辆汽车,那么JRE则是汽车运行中必需的『公路』。 JRE是JDK一部分,可以单独存在并单独提供下载。 hello.class应用程序可以运行在jre中。所以如果我们仅仅是搭建服务器来运行编译后的java程序 ,而并不开发。在那台机器上安装JRE即可。 # JVM Java Virtual Machine JAVA 虚拟机。汽车需要的仅仅是平坦的公路,至于是把公路修建在平原上,还是高山上,或是隧道中,这则是JVM的事情。JVM使用JAVA可以在平原、高山、隧道的各种环境下运转。 如果没有见山开水,见水搭桥的JVM,就不会有平坦的公路JRE,如果没有JRE,汽车就只能停留在车库中,如果没有JDK,就不可以生产出车库中的汽车。 JVM又是JRE的一部分。它负责在不同的平台下执行hello.class应用程序。正是由于它的功能,决定了JVM上面对接JAVA程序,下面对接操作系统。所以不同的操作系统下,需要安装不同的JVM。 ![](https://box.kancloud.cn/b1253d5803f147284570b8555a44285c_994x660.png) # 环境变量 过记得我们前面在使用PHP开发时候的命名空间吧。命名空间,实际上触决的是,你在自己的班级中找隔壁班级的小明来帮忙的问题。 除了上述方法,我们还可以使用一个环境变量来解决。如果你把小明注册到环境变量中,那么不管你在做任意的位置上找小明来帮忙,都不需要在提前使用命名空间引入了。 将小明注册到环境变量:在系统的任意位置均可呼叫小明。 将梦云智注册到环境变量:在系统中的任意位置均可呼叫梦云智的成员。 将java.exe所在的文件夹注册到环境变量,在系统中的任意位置均可以执行这个文件夹中的EXE可执行文件。