相信很多java的初学者都卡在了JDK和JRE这儿,两者到底什么区别, 多数都是云里雾里的。其实笔者想说的是JDK 和JRE并没有想象中那么简单。
先给大家简单地介绍下Java的各种集成开发工具:
JDK:开发工具包
JRE:(运行环境)运行时类库
JVM:java虚拟机
小总结:JDK包含JRE包含JVM
一、JDK——开发环境(核心)
java development kit 的缩写,意思是JAVA开发工具,我们写文档做PPT需要office 办公软件,开发当然需要开发工具了,说到开发工具大家肯定会想到Eclipse,但是如果直接安装Eclipse你会发现它是运行不起来 是会报错的,只有安装了JDK,配置好了环境变量和path才可以运行成功。这点相信很多人都深有体会。
JDK主要包含三部分,
第一部分就是Java运行时环境,JVM。
第二部分就是Java的基础类库,这个类库的数量还是非常可观的。
第三部分就是Java的开发工具,它们都是辅助你更好的使用Java的利器。
JRE——运行环境
java runtime environment (java运行时环境)的缩写
1,1_JDK中的JRE
如下图:jdk中包含的jre,在jre的bin目录里有个jvm.dll,既然JRE是运行时环境,那么运行在哪?肯定是JVM虚拟机上了。另,jre的lib目录中放的是一些JAVA类库的class文件,已经打包成jar文件。
1.2_第二个JRE(独立出来的运行时环境)
如下图,不管是JDK中的JRE还是JRE既然是运行时环境必须有JVM。所以JVM也是有两个的。
三、JVM——转换环境
java virtuak machine (java虚拟机)的缩写。
大家一提到JAVA的优点就会想到:一次编译,随处运行,说白了就是跨平台性好,这点JVM功不可没。
JAVA的程序也就是我们编译的代码都会编译为Class文件,Class文件就是在JVM上运行的文件,
只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。
JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
JVM也是一门很深的学问,感兴趣的童鞋可以深入研究,只有好处,没有坏处。
根据本人多年从业以及学习经验,录制了一套最新的Java精讲视频教程,如果你现在也在学习Java,在入门学习Java的过程当中缺乏系统的学习教程,你可以加群654631948领取下学习资料,面试题,开发工具等,群里有资深java老师做答疑,每天也会有基础部分及架构的直播课,也可以加我的微信renlliang2013做深入沟通,只要是真心想学习Java的人都欢迎。
java基础教程:https://ke.qq.com/course/149432?tuin=57912c43
Java分布式互联网架构/微服务/高性能/springboot/springcloud:
https://ke.qq.com/course/179440?tuin=57912c43