您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“JDK、JRE、JVM三者之間有什么關(guān)系”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“JDK、JRE、JVM三者之間有什么關(guān)系”吧!
這個題目在面試題中基本沒怎么出現(xiàn),但在筆試題中倒是經(jīng)常見到。所以還是有必要拉出來溜溜~
JDK: java development kit, java開發(fā)工具包,用來開發(fā)Java程序的,針對java開發(fā)者。
JRE: java runtime environment, java運(yùn)行時(shí)環(huán)境,針對java用戶
JVM: java virtual machine,java虛擬機(jī) 用來解釋執(zhí)行字節(jié)碼文件(class文件)的。
JDK 即為 Java 開發(fā)工具包,包含編寫 Java 程序所必須的編譯、運(yùn)行等開發(fā)工具以及 JRE。開發(fā)工具如:
用于編譯 Java 程序的 javac 命令。
用于啟動 JVM 運(yùn)行 Java 程序的 Java 命令。
用于生成文檔的 Javadoc 命令。
用于打包的 jar 命令等等。
簡單說,就是 JDK 包含 JRE 包含 JVM。
JRE 即為 Java 運(yùn)行環(huán)境,提供了運(yùn)行 Java 應(yīng)用程序所必須的軟件環(huán)境,包含有 Java 虛擬機(jī)(JVM)和豐富的系統(tǒng)類庫。系統(tǒng)類庫即為 Java 提前封裝好的功能類,只需拿來直接使用即可,可以大大的提高開發(fā)效率。
簡單說,就是 JRE 包含 JVM。
JVM 即為 Java 虛擬機(jī),提供了字節(jié)碼文件(.class
)的運(yùn)行環(huán)境支持。
JDK > JRE > JVM
Java 虛擬機(jī)是一個可以執(zhí)行 Java 字節(jié)碼的虛擬機(jī)進(jìn)程。
Java 源文件( .java
)被編譯成能被 Java 虛擬機(jī)執(zhí)行的字節(jié)碼文件( .class
)。
Java 被設(shè)計(jì)成允許應(yīng)用程序可以運(yùn)行在任意的平臺,而不需要程序員為每一個平臺單獨(dú)重寫或者是重新編譯。Java 虛擬機(jī)讓這個變?yōu)榭赡?,因?yàn)樗赖讓佑布脚_的指令長度和其他特性。
JDK5 ~ JDK10 ,看:
https://www.jianshu.com/p/37b... 。
JDK11 ,看:
https://www.jianshu.com/p/81b... 。
對于大多數(shù)面試官,肯定不會問你 JDK 各版本的新特性,更多的會問 JDK8 引入了什么重要的特性?一般上,關(guān)鍵的回答是Lambda 表達(dá)式和集合之流式操作,然后說說你在項(xiàng)目中怎么使用的。
都是面向?qū)ο蟮恼Z言,都支持封裝、繼承和多態(tài)。
Java 不提供指針來直接訪問內(nèi)存,程序內(nèi)存更加安全。
Java 的類是單繼承的,C++ 支持多重繼承;雖然 Java 的類不可以多繼承,但是接口可以多繼承。
Java 有自動內(nèi)存管理機(jī)制,不需要程序員手動釋放無用內(nèi)存。
到此,相信大家對“JDK、JRE、JVM三者之間有什么關(guān)系”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。