[b]1、JVM -- java virtual machine[/b]
JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
[color=green]虚拟机就是执行java class文件并与底层操作系统进行交互的平台。[/color]
[b]2、JRE -- java runtime environment[/b]
JRE是指java运行环境。光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。(jre里有运行.class的java.exe)
[color=green]JRE就是能正确执行java class字节文件的运行环境,包括JVM和运行时要用到得jar包等,但不包括javac.exe编译环境。[/color]
[b]3、JDK -- java development kit[/b]
JDK是java开发工具包,基本上每个学java的人都会先在机器上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录。在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、 jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM。
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境
(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。
[color=green]dt.jar是关于运行环境的类库,主要是swing的包
tools.jar是关于一些工具的类库
rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的class文件[/color]
[color=green]JDK包括编译,JRE运行时和一些java扩展jar包。[/color]
[b]eclipse、idea等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你选中jre路径就ok了。[/b]
jvm jdk jre的区别与联系
原创
©著作权归作者所有:来自51CTO博客作者mb65017f8b83427的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Multiple Thread
下一篇:换种思路去思考问题
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
JDK、JRE、JVM的区别与联系
本文介绍了JDK、JRE、JVM的区别与联系
jvm jdk java jre 字节码 -
浅谈JDK、JRE、JVM区别与联系
浅谈JDK、JRE、JVM区别与联系
Java jvm jdk jre -
JDK与JRE的区别与联系
它不包含开发工
jdk jre java Java jar -
Java基础(3)-JDK、JRE、JVM区别与联系
一、简介 JDK(Java Development Kit,Java开发工具包) ,是整个JAVA的核心,包括了Java运行环境JRE(Java R
Java基础入门 Java java 字节码 跨平台 -
【JAVA】JVM、JRE与JDK的区别
JVM、JRE与JDK的区别相信初学者一直搞不懂这三者的区别,导致了在安装过程中,有些人安
JVM JRE JDK java java程序 -
JVM、JRE、JDK的作用与区别
一、引言在Java环境配置和项目启动中,这三者的配置是项目启动的基础保证,但这三者的作用和区别呢,本文将对JVM、JRE、
java jdk jvm 编程语言 jre