天天看點

教妹學Java(六):JDK,JRE和JVM之間有什麼差別?

大家好,我是沉默王二。本篇文章通過我和三妹的對話來談一談“JDK,JRE 和 JVM 之間的差別”。本文付費,為表謝意,附送上個人微信(qing_gee),坑位所剩無幾,快加,你有什麼問題都可以來咨詢。

教妹學 Java,沒見過這麼有趣的标題吧?“語不驚人死不休”,沒錯,本篇文章的标題就是這麼酷炫,接受不了的同學就别點進來看了,所謂好奇心害死貓;能夠接受的同學我隻能說你賺到了,你不僅能在閱讀的過程中感受到思維的樂趣,還真的能學習到知識。下面就由我來介紹一下故事的背景吧。

我有一個漂亮如花的妹妹(見上圖),她叫什麼呢?我想聰明的讀者朋友們都能猜得出:沉默王三,沒錯,年方三六。父母正考慮讓她向我學習,做一名正兒八經的 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之間有什麼差別?

03、JDK

JDK 是 Java Development Kit 的首字母縮寫,是提供給 Java 開發人員的軟體環境,包含 JRE 和一組開發工具。可分為以下版本:

标準版(大多數開發人員用的就是這個)

企業版

微型版

JDK 包含了一個私有的 JVM 和一些其他資源,比如說編譯器(javac 指令)、解釋器(java 指令)等,幫助 Java 程式員完成開發工作。

教妹學Java(六):JDK,JRE和JVM之間有什麼差別?

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

“是啊,二哥,圖畫得可真棒啊!”

04、鳴謝

本篇文章為《教妹學Java》專欄的第六篇文章,是不是有趣得很?我相信你能感受的到,這可是全網獨一份,我看到已經有人在模仿了。現在定價隻需 9.9 元,9.9 元你連一杯奶茶都買不到,但卻能買下二哥精心制作的專欄,據說 CSDN 已經考慮漲價了,畢竟已經賣出一百多份了。

我知道,購買專欄的同學都是沖着二哥的名聲來的,畢竟二哥是 CSDN 的明星部落客,哈哈。

上一篇回顧:教妹學Java(五):Java程式在編譯和運作時發生了什麼

PS:本篇文章中的示例代碼已經同步到碼雲,傳送門~

原創不易,喜歡就點個贊,因為你一個小小的舉動,就會讓這個世界多一份美好。