JVM,JRE和JDK的區(qū)別小結
JVM(Java Virtual Machine,Java虛擬機)
Java程序的跨平臺特性主要是指字節(jié)碼文件可以在任何具有Java虛擬機的計算機或者電子設備上運行,Java虛擬機中的Java解釋器負責將字節(jié)碼文件解釋成為特定的機器碼進行運行。因此在運行時,Java源程序需要通過編譯器編譯成為.class文件。眾所周知java.exe是java class文件的執(zhí)行程序,但實際上java.exe程序只是一個執(zhí)行的外殼,它會裝載jvm.dll(windows下,下皆以windows平臺為例,linux下和solaris下其實類似,為:libjvm.so),這個動態(tài)連接庫才是java虛擬機的實際操作處理所在。
JVM是JRE的一部分。
它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現(xiàn)的。JVM有自己完善的硬件架構,如處理器、堆棧、寄存器等,還具有相應的指令系統(tǒng)。 Java語言最重要的特點就是跨平臺運行
。使用JVM就是為了支持與操作系統(tǒng)無關,實現(xiàn)跨平臺。 所以,JAVA虛擬機JVM是屬于JRE的,而現(xiàn)在我們安裝JDK時也附帶安裝了JRE(當然也可以單獨安裝JRE)。
JRE
Java Runtime Environment,Java運行環(huán)境。 包含JVM標準實現(xiàn)和java核心類庫,完整的Java運行環(huán)境.
JRE目錄結構
JRE目錄結構
- in:Java平臺工具所使用的的.exe可執(zhí)行文件和.dll可執(zhí)行文件。
- lib:代碼庫、樹形設置以及JRE使用的源文件,如——
- rt.jar:Bootstrap類(構成Java平臺核心API的運行時類);
- charsets.jar:字符轉換類;
- jfxrt.jar:JavaFX的運行時庫。
- lib\applet:包含支持類的小程序jar文件可以放置在lib/applet/目錄中。這樣,通過允許小程序類從Applet類裝載器的本地文件系統(tǒng)預裝,提供同樣的保護,就好像他們已經(jīng)被下載超過凈減少啟動時間大的小程序。
- lib\ext:Java平臺的擴展程序(插件等)的默認安裝目錄。如——
- localedata.jar-用于現(xiàn)場數(shù)據(jù) java.text和java.util。
- lib\fonts:平臺使用的字體文件。
- lib\security:包含用于安全管理的文件。這些措施包括安全策略(java.policy)和安全性(java.security)文件。
JDK
Java Development Kit,Java開發(fā)環(huán)境。 包含了JRE、Java核心類庫、開發(fā)工具包(編譯器+調試工具)
由圖中可以看出以下幾點:
- JDK=JRE+多種Java開發(fā)工具
- JRE=JVM+各種類庫
- 這三者的關系是一層層的嵌套關系。JDK>JRE>JVM
到此這篇關于JVM,JRE和JDK的區(qū)別小結的文章就介紹到這了,更多相關JVM,JRE和JDK內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Thread類interrupt interrupted及isInterrupted區(qū)別
這篇文章主要為大家介紹了Thread類interrupt interrupted及isInterrupted區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10Spring Boot JDBC 連接數(shù)據(jù)庫示例
本篇文章主要介紹了Spring Boot JDBC 連接數(shù)據(jù)庫示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02struts2 validation.xml 驗證規(guī)則代碼解析
這篇文章主要介紹了struts2 validation.xml 驗證規(guī)則代碼解析,具有一定借鑒價值,需要的朋友可以參考下2018-01-01使用Java和Selenium實現(xiàn)滑塊驗證的自動化登錄功能
在現(xiàn)代Web應用中,滑塊驗證碼被廣泛用于防止自動化腳本的濫用,滑塊驗證通常要求用戶通過拖動滑塊來完成驗證,然而,在某些場景下,如自動化測試或批量登錄,我們需要通過編程手段解決滑塊驗證問題,本文將詳細介紹如何使用Java和Selenium實現(xiàn)滑塊驗證的自動化登錄2025-01-01