教妹学Java(六):JDK,JRE和JVM之间有什么区别?

大家好,我是沉默王二。本篇文章通过我和三妹的对话来谈一谈“JDK,JRE 和 JVM 之间的区别”。本文付费,为表谢意,附送上个人微信(qing_gee),坑位所剩无几,快加,你有什么问题都可以来咨询。

教妹学 Java,没见过这么有趣的标题吧?“语不惊人死不休”,没错,本篇文章的标题就是这么酷炫,接受不了的同学就别点进来看了,所谓好奇心害死猫;能够接受的同学我只能说你赚到了,你不仅能在阅读的过程中感受到思维的乐趣,还真的能学习到知识。下面就由我来介绍一下故事的背景吧。

教妹学Java(六):JDK,JRE和JVM之间有什么区别?_第1张图片

我有一个漂亮如花的妹妹(见上图),她叫什么呢?我想聪明的读者朋友们都能猜得出:沉默王三,没错,年方三六。父母正考虑让她向我学习,做一名正儿八经的 Java 程序员。我期初是想反抗的,因为程序员这行业容易掉头发。但家命难为啊,与其反抗,不如做点更积极的事情,写点有趣的文章,教妹妹如何更快地掌握 Java 这门编程语言。毕竟程序员还算得上高薪(都是拿命换的啊)。

(铺垫结束,正文开始)

“二哥,Java 中经常见到三个名词,JDK,JRE 和 JVM,都是 J 开头的,它们之间有什么联系啊?”

“三妹啊,听二哥来给你慢慢说啊。”

01、JVM

JVM(Java Virtual Machine)俗称 Java 虚拟机。之所以称为虚拟机,是因为它实际上并不存在。它提供了一种运行环境,可供 Java 字节码(上一节有提到)在上面运行。除此之外,它还可以运行 Groovy、Scala 等基于JVM的敏捷开发语言编译后的字节码。

JVM 执行以下主要任务:

  • 加载字节码
  • 验证字节码
  • 执行字节码
  • 提供运行时环境

02、JRE

JRE 是 Java Runtime Environment 的首字母缩写,顾名思义,是 Java 在运行时的软件环境,它是真实存在的,包含了很多 JVM 在运行时所需要的组件。

教妹学Java(六):JDK,JRE和JVM之间有什么区别?_第2张图片

03、JDK

JDK 是 Java Development Kit 的首字母缩写,是提供给 Java 开发人员的软件环境,包含 JRE 和一组开发工具。可分为以下版本:

  • 标准版(大多数开发人员用的就是这个)
  • 企业版
  • 微型版

JDK 包含了一个私有的 JVM 和一些其他资源,比如说编译器(javac 命令)、解释器(java 命令)等,帮助 Java 程序员完成开发工作。

教妹学Java(六):JDK,JRE和JVM之间有什么区别?_第3张图片

“三妹啊,看完上面这幅图是不是一下子印象就深刻了起来?”

“是啊,二哥,图画得可真棒啊!”

04、鸣谢

本篇文章为《教妹学Java》专栏的第六篇文章,是不是有趣得很?我相信你能感受的到,这可是全网独一份,我看到已经有人在模仿了。现在定价只需 9.9 元,9.9 元你连一杯奶茶都买不到,但却能买下二哥精心制作的专栏,据说 CSDN 已经考虑涨价了,毕竟已经卖出一百多份了。

我知道,购买专栏的同学都是冲着二哥的名声来的,毕竟二哥是 CSDN 的明星博主,哈哈。

上一篇回顾:教妹学Java(五):Java程序在编译和运行时发生了什么

PS:本篇文章中的示例代码已经同步到码云,传送门~

原创不易,喜欢就点个赞,因为你一个小小的举动,就会让这个世界多一份美好。

你可能感兴趣的:(java,jdk,jvm,jre)