JDK、JRE、JVM的区别和联系

JDK、JRE、JVM的区别和联系

概括

JDK包含了JRE, JRE包含了JVM

  • JDK:JavaDevelpoment Kit,Java开发工具包,编写Java的程序员使用的软件
  • JRE:Java Runtime Environment,Java运行环境,用户运行Java程序使用的软件
  • JVM:Java Virtual Machine,Java虚拟机,是运行所有Java程序的抽象计算机
什么是JVM

Java Virtual Machine(JVM),Java虚拟机,是Java跨平台特性的最核心的部分。Java程序经编译后生成 .class文件,这种类文件可以在虚拟机上运行。.class文件内容都是经过编译生成的字节码,在虚拟机JVM上执行字节码,把字节码解释成具体平台上的机器指令执行,这就是JAVA能够一次编译,到处运行的原因。

什么是JRE

Java Runtime Environment(JRE),是Java运行环境。如果单有JVM,并不能执行 .class文件,还需要调用一些解释 .class文件所需要的类库,尤其是…\JDK\jre\bin目录下的rt.jar。JRE包含两个文件夹bin和lib,bin目录存放的就是JVM文件,lib目录存放的就是解释 .class文件所需要的类库。所以JRE包含虚拟机,并不包含编译器,是专门为不需要编译器的用户准备的,而不是给开发者准备的。

什么是JDK

Java Development Kit(JDK),Java开发者工具。 JDK是Java的核心。
bin目录是编译器和工具
include目录是用于编译本地文件的方法
jre目录是Java运行环境文件
lib目录是类库文件
…\JDK\bin目录下有javac.exe,javac指令是用来将java文件编译成class文件的;此外还有jar.exe,javadoc.exe等用于开发的可执行指令文件。
…\JDK\binjavac.exe 内部调用的其实是…\JDK\libtools.jar中com.sun.tools.javac.Main类,Java程序的编译也是通过类中的main方法开始执行的。

安装好Java环境,为什么有两个JRE?

在安装完Java环境后,会发现分别我们安装了一个JDK和一个JRE,而在JDK的文件夹下,我们已经有了一个JRE。
JDK里面的JRE文件是JDK自带的java运行环境。 .
JDK外面的JRE文件是Java程序运行所需要的环境,如果没有安装JDK,也是可以运行Java程序的。
这两个JRE都可以作为Java程序的运行环境,如果安装了JDK,就不用单独安装JRE了。

Java 为什么能跨平台,实现一次编写,多处运行

Java文件源代码.java文件,经过编译器的编译之后,生成包含字节码的.class文件。这些字节码并不能直接被系统调用,而是经过虚拟机JVM的解释后,通过JVM被平台调用。也就是说,Java文件经编译生成唯一的字节码,通过JVM映射到不同系统的API调用,因此无关系统和平台,Java语言正是基于此拥有良好的跨平台性和可移植性。

JDK和JRE的区别和联系

JDK是java开发环境,其中包含了Java运行环境JRE,既有编译环境,又有运行环境。
JRE是Java运行环境,不含编译器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值