大数据专家必学Java基础(三):JDK,JVM,JRE的区别

 

目录

一、JDK(Java Development Kit)

二、JRE(Java Runtime Environment)

三、JVM(Java Virtual Machine)

四、JDK,JRE,JVM三者关系图


       既然想成为大数据专家,那么Java是必学的,第一次学Java对里面的概念会比较抽象,模糊,难以理解。那么下面学习下JDK、JRE和JVM的之间的关系:

JDK(Java Development Kit)简单理解就是Java开发工具包,是java的核心所在;

JRE(Java Runtime Enviroment)是Java的运行环境

JVM( java virtual machine)也就是常常听到Java虚拟机。

JDK是面向开发者的,JRE是面向使用JAVA程序的用户,JVM是java实现跨平台和系统的媒介所在。

一、JDK(Java Development Kit)

        JDK(Java Development Kit)是Java开发工具包的缩写,是Java开发人员必备的工具之一。它包含了Java编译器、Java虚拟机、Java类库等开发工具和资源,可以帮助开发人员编写、调试和运行Java程序。

        JDK是整个Java的核心,包括了JRE(Java运行环境),同时在jdk文件夹bin(通常我们配置jdk的环境变量的根目录)目录中包含了一些Java开发工具(例如:jconsole、javac、java、javadoc、native2ascii、jar等)。JDK=JRE+Java开发工具(编译器、反编译器、调试器等)。下面我简单介绍一下目前最常用的jdk1.8版本的目录内容。

JDK目录剖析:

bin:一堆exe文件,可执行的开发工具,最主要的是javac, 例如:jconsole、javac、java、javadoc、native2ascii、jar。

jre:java运行环境,包括JVM+Java基础和核心类库 。

lib:本地资源库,包含dt.jar+tools.jar的常用类库,开发依赖包。

include:java和JVM交互用的头文件。

二、JRE(Java Runtime Environment)

        JRE(Java Runtime Environment),即Java运行环境,支持Java程序运行的标准环境,包含JVM标准实现及Java核心类库。 JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。JRE=JVM+Java基础和核心类库。

JRE目录剖析:

bin:有java.exe但没有javac.exe,无法编译Java程序,但可以运行Java程序,可以把这个bin目录理解成JVM。

lib:Java基础和核心类库,如rt.jar,也包含JVM运行时需要的类库。

三、JVM(Java Virtual Machine)

        JVM(Java Virtual Machine)是Java程序的运行环境,它是一个虚拟的计算机,它能够在不同的操作系统上运行Java程序。JVM将Java程序编译后的字节码解释成机器码,然后在计算机上执行。

        JVM是一种抽象,虚拟出来的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域,它负责执行指令,还要管理数据,内存和寄存器,指令集,寄存器,类文件的格式,栈,垃圾回收堆,存储区等。

        Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。

        JVM主要负责运行Java编译器编译后的字节码文件(*.class文件)。这些字节码只面向JVM,不同平台的JVM都是不同的,但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。把字节码解释成具体平台上的机器码执行。JVM自己无法执行,必须要联合JRE中的Java基础&核心类库才能使用。

四、JDK,JRE,JVM三者关系图

通过上图可以看出JDK包含JRE,而JRE包含JVM。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗飞侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值