JDK、JRE、JVM的关系
来源:互联网 发布:linux版jdk1.8下载 编辑:程序博客网 时间:2024/06/06 09:01
首先上图,清晰展示三者关系
JVM:将字节码文件转成具体系统平台的机器指令。
JRE:JVM+JAVA语言的核心类库
JDK:JRE+JAVA的开发工具
各自在什么时候起作用?JDK是java开发工具包,在其安装目录下面有六个文件夹、一些描述文件、一个src压缩文件。bin、include、lib、 jre这四个文件夹起作用,demo、sample是一些例子。可以看出来JDK包含JRE,而JRE包含JVM。
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)
总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。 其中的开发工具包括编译工具(javac.exe)打包工具(jar.exe)等
JRE
JRE是指java运行环境。光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,
如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JVM
JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式,它主要负责将java程序生成的字节码文件解释成具体系统平台上的机器指令。让具体平台如window运行这些Java程序。
简单而言:使用JDK开发完成的java程序,交给JRE去运行。
- jre,jdk,jvm的关系
- JDK、JRE、JVM的关系
- JDK、JRE、JVM的关系
- JDK、JRE、JVM的关系
- JDK、JRE、JVM的关系
- JDK、JRE、JVM的关系
- jdk jre jvm的关系
- JDK, JRE, JVM 的关系
- JDK、JRE、JVM的关系
- jdk jre jvm的关系
- JDK JRE JVM 的关系
- JDK、JRE、JVM的关系
- JDK JRE JVM 关系
- jdk,jre,jvm关系
- jvm jre jdk关系
- JVM, JRE, JDK关系
- JDK、JRE、JVM之间的关系
- JDK、JRE、JVM之间的关系
- maven实现springboot-mybatis框架(1)
- 林轩田机器学习笔记
- 三子棋的简单实现
- 【2017-11-25】a标签中的download属性详解
- jvm垃圾回收机制
- JDK、JRE、JVM的关系
- 【Spring Cloud】Ribbon负载均衡
- 缓存系列--缓存策略
- C语言的第一步
- 欢迎使用CSDN-markdown编辑器
- 杭电2017新生赛1008-友好整数
- POJ
- Java并发学习(五)-LockSupport里面的park和unpark
- Unity Shader 学习笔记(27)渲染轮廓线(描边)方法、卡通风格渲染、素描风格渲染