JRE,JDK,JVM三者的区别

  • jvm
    jvm是JavaVirtual Machine(java虚拟机)的缩写,他是java实现跨平台最核心的部分,所有的java程序都会先被编译 为.class文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与电脑的操作系统相对应,而是经过虚拟机间接的与操作系统交互,由虚拟机将程序解释给本地系统执行。jvm是java平台的基础,和实际的机器一样,他也有自己的指令集,并且在运行时操作不同的内存区域。jvm通过抽象操作系统和cpu结构提供了一种与平台无关的代码执行方法,即与特殊的实现方法,主机操作系统,主机硬件无关。jvm的主要工作是解释自己的指令集(字节码)到cpu的指令集或对应的系统调用,保护系统免被恶意程序骚扰。jvm对上层的java源文件是不关心的,他关注的只是有源文件产生的.class文件。
  • jre
    jre是java runtime environment(java运行环境)的缩写。光有jvm还不能让class文件执行,因为在解释class文件时jvm需要调用解释的类库lib。在jdk的安装目录中找到jre目录,里面有两个文件夹bin和lib,在这里可以理解为bin相当于jvm,lib就相当于类库,而bin和lib加起来就是jre。所以在你写完java程序编译成class文件后,你可以将class文件和jre一起打包发送给朋友,这样你的程序就能查看你编写的程序。jre是Sun公司发布的一个更大的系统,它里面就有一个jvm。jre和具体的cpu结构和操作系统有关,是运行java程序必不可少的。jre的地位就像一台pc机一样,我们写好的win32应用程序需要操作系统帮我们运行,同样的我们写好的java程序需要jre帮我们运行。也可以说是jre是提供给业余的人来直接使用运行编译后java程序的。
  • jdk
    jdk是java development kit(java开发工具包)的缩写,每个做java开发的人都会现在电脑上装一个jdk,那么让我们看一下jdk的安装目录。在目录下有6个文件夹、1个src类库源码压缩包和其他几个声明文件,其中真正在运行java时起作用的是以下4个文件夹:bin,include,lib,jre。现在我们可以看出这样一个关系,jdk包含jre,jre包含jvm。

    bin:最主要的编译器(javac.exe)
    include:java和jvm交互用的头文件
    lib:类库(java开发需要的类库)
    jre:java运行环境
    总结:jdk是用来java程序开发的,而jre是只能运行class而没有编译的功能。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值