JDK与JRE与JVM区别与联系

推导废话,看看就好

回想当年学java的时候,首先装个jdk,当初也不知道为啥,反正就得装,但是现在得好好想想了,明明jvm就行运行java,为啥还需要jdk呢。
根据上述所说,JVM运行的是java源程序编译后的字节码文件,而我们开发所写的是java源程序。那我们是不是缺少一个将java源程序转化成字节码文件的工具,这一点jdk就可以帮我们来做。
那jre又是什么呢?我们写出他的完整英文名:java runtime environment,如此简单的英语,想必大家一眼就能看出来,翻译成中文就是java运行环境。上面我们说了JVM可以运行java的字节码文件,那就直接运行呗,为啥又多了个jre呢?实际上,JVM想要解释class文件(字节码文件)需要调用一些类库(lib),而这些类库就在jre中,也就是jre的lib目录。
上述存在一个误区,上面我说过jdk可以编译java源程序代码,但是它不仅仅具有java的编译器,它还包含jre,而jre包含JVM,所以从范围上来讲,jdk>jre>JVM。

正式解说

jdk是java程序开发时用的开发工具包,其内部包含jre运行环境。jre是java程序运行时所需要的运行环境,如果仅仅是运行java程序而不是进行开发,只需要安装jre就可以了。jdk、jre内部都包含java虚拟机JVM,JVM虚拟机内部包含许多应用程序的类的解释器和类的加载器等等,在执行字节码文件时,将字节码文件解释成具体平台上的机器指令执行。
jdk(java development kit):java开发工具包
jre(java runtime environment):java运行环境
JVM(Java Virtual Machine):java虚拟机

猜你喜欢

转载自blog.csdn.net/weixin_44613100/article/details/107476579