jdk jre jvm联系与区别

jvm:java虚拟机,是一个虚拟的用于执行字节码的"虚拟计算机",它也定义了指令集,寄存器集、结构栈、垃圾收集堆、内存区域。jvm负责解释运行java字节码(.class文件),边解释边运行。
jre:包含jvm+库函数+java.exe等
jdk:包含Jre+javac.exe+jar+debugging,toools,javap等。

jvm属于jre jre属于jdk

其中java代码执行的原理如下:
首先我们写好.java文件,然后通过jdk中的javac.exe来编译获得.class字节码文件,然后将.class文件通过jre的java.exe来在Jvm上运行字节码文件,在jvm上对字节码文件进行解释和运行,获得自己想要的结果。

所以说如果我们只想要运行java程序(这里指的是字节码文件),装jre就好了,直接运行.class文件。如果自己编写java代码,则需要先通过jdk的javac.exe来编译成.class文件,再在jvm上运行字节码文件。

额外知识点:为什么java要配置path环境变量?
原因:
PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。

你可能感兴趣的:(java)