JDK,JRE,JVM三者之间的联系和区别?

这里插入图片描述
JDK:全称java development kit ,开发工具包,面向我们的开发者,为开发者提供开发类库,他是java的核心。JDK包含了JRE,一堆工具类(javac,java),JAVA的类库(Object,String)
JRE:全称 java runtime environment。包含了jvm标准实现和需要的类库。JRE是一个运行环境,并非开发工具。
JVM: 它是一个虚拟出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器,堆栈,寄存器等,还具有相应的指令系统。java语言最重要的特点就是跨平台运行。使用JVM就是为了实现跨平台。
三者的联系:
JVM 不能够单独的搞定 class 文件,解释 class 的时候, jvm (D:\JDK\bin) 需要调用我们所需要的类库(D:\JDK\lib)。JVM +lib = JRE 总体来说,我们利用JDK开发了属于我们自己的程序,通过JDK的javac 工具包进行了编译,将java文件编译称为了class 文件(字节码文件),在JRE上运行这些文件的时候,JVM进行了这些文件的翻译。
三者的区别:
JDK 和 JRE 的区别: jdk 是开发工具包,包含了JRE ; JRE是运行环境,不提供开发工具包。
JRE和JVM的区别: JRE 包含了JVM,JRE = JVM + lib。 JRE为 class 文件提供了运行的环境,但是需要JVM 进行class 文件的翻译,JVM 将翻译好的文件传给 os 系统或者是CPU 映射指令集,才能够最终完成运行。
在这里插入图片描述
从图中我们看到,当我们点击了我们的main方法,一个后台进程就创建了,用eclipse创建了一个javaw.exe。 javaw.exe就是我们大的一个虚拟机。(连续点击了n次main 方法,发现创建了n个jvm虚拟机,也就是说,

猜你喜欢

转载自blog.csdn.net/GTC_GZ/article/details/107593148