jdk是每个开发者需要安装的工具,安装之后就会有jre,
jre是java代码编译成class文件之后运行的平台,
jre里面有个jvm,是在jre里的bin目录,
jdk里面也有个bin目录,这个bin目录,负责编译java文件成class文件。
JDK和JRE区别:去bin文件夹下你会发现,JDK有javac.exe而JRE里面没有,众所周知javac指令是用来将java文件编译成class文件的,这是你开发去做的事,用户是不会去做的。JDK还有jar.exe,
javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。
JRE和JVM区别:有些人觉得,JVM就可以执行class了,其实不然,JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar。
抽象问题具体化理解:
JDK包含了JRE,JRE包含了JVM(简单粗暴式理解)。
你现在想用一段代码对全世界用计算机的人们说一句:helloworld,你首先想到可以将这两个单词写在每个用户计算机txt的里面,这太麻烦了,有些用户不是windows系统,他没有txt文件,你不知道怎么写,需要的是代码实现。然后你程序猿朋友在txt里面写了一个main,main里面写一句system.out.println("helloworld"); 私下里编译之后给到了你,说它很神奇,把它运行起来就能达到目的,你查了一下有个JVM的东西能运行这个文件,但是失败了,原因是JVM没那么智能,它不知道里面system,out,println这三个单词是用来做什么的,朋友告诉你要安装JRE,你安装后惊奇发现成功了。后来你逮谁就找谁实验,你只需要把JRE和你朋友给你的这个文件放上去,就能跟他说helloworld。你按捺不住内心的崇拜之情,对朋友说:大牛,带我飞吧。朋友微微一笑,抛给你一个JDK,说拿去玩吧这就是武功秘籍。从此你踏上了java开发的不归路。
网友评论