浅谈JDK,JRE,JVM

我们大致的可以把他们看作一种包含关系,即JDK里包含了JRE,JVM。JRM里也包含了JVM。
我们可以看到在我的JDK中是包含JRE的

在这里插入图片描述
首先我们讨论JVM是什么,JVM(Java虚拟机)。

用来干什么呢?用来编译(.class)文件的,我们知道计算机只能识别机器语言也即是biexia01010101001,这样的二进制字节码文件,但那时我们使用这样的机器语言进行编码是一件十分困难的事,所以高级程序语言被诞生出来,利于我们的编写。

但是,计算机不会并不会因为我们的习惯你而改变自身,他依然只能识别机器语言。我们编写程序是希望计算机帮我们实现我们需要的功能,所以我们发布了命令必须让计算机能够识别,也就得把我的高级语言翻译给计算机——解释,JVM就是一个出色的翻译官职位。

明白了JVM的功能我们就可以在讨论一个话题,———跨平台性(通过Java语言编写的应用程序在不同的系统平台上都可以运行),原理是什么呢?

我们以市场上常见的三种系统举例,
window系统,IOS系统,Linux系统,虽然底层都是机器语言,电脑,对于不通的系统来说不通的01(二进制字节)的组合有着不通的意义,这就需要不通的编译,所以诞生了不通版本的JVM,也就是JVM是实现了快平台。
在这里插入图片描述
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。

我们了解JVM的作用以及工作原理,接下来讨论JDK与JRE。

JRE=JVM+类库lib
JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。
在这里插入图片描述
所以JRE可以完成完成执行Java程序的工作,也就是说,如果你只是一个使用Java程序的用户,那么你只需要拥有JRE即可。

JDK=JRE+JVM+其它
在这里插入图片描述
对于程序员来说,我们也许使用JRE的功能,因为我们的Java开发中也会使用到由Java语言开发出来的系统,那JDK中的其他是什么呢?

JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
所以JDK是面向Java开发程序程序员的,是的程序员能够更加便捷的开发程序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值