您好,登錄后才能下訂單哦!
今天小編給大家分享一下JDK,JRE,JVM的關系是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
JDK是SUN公司發布的用于開發Java程序的工具包,JRE相當于PC,各種Java類庫(通常使用Java編寫)相當于PC上的操作系統,而JVM是Java虛擬機,在window下作為動態連接庫(jvm.dll)存在,用于解釋執行Java字節碼。
JDK,JRE,JVM的關系
JDK(JavadevelopmemtKit):
是SUN公司發布的用于開發Java程序的工具包,在它的bin目錄下有很多工具,常見的包括:javac.exe,java.exe,javadoc.exe等(其中有很多都是用Java編寫的)各種版本的IDE工具也是需要使用JDK來完成編譯,打包,運行等各種功能的。
JRE(JavaRuntimeEnvironment):
顧名思義,java的運行環境,而JDK是開發工具,在它的安裝目錄下包含了JRE目錄,其實在安裝JDK時(1.4版本以上),有一個安裝選項,如果勾上時,在Java的安裝目錄下會多一個JRE目錄,這里的JRE與JDK下的JRE目錄基本上是完全一致的,那么為什么需要兩個JRE呢?
前面已經提到過,JDK的bin目錄下的很多工具都是用Java編寫的,使用這些工具的時候也是需要運行環境的,通過這些.exe包裝器(這些包裝器提供了尋找tools.jar中的一些java類的快捷方法,不需要輸入一長串的包名和類名)來使用那些工具時,java會自動尋找父目錄下的JRE,所以在這里放置了JRE。
JVM(JavaVirtureMatchine):
Java虛擬機,在window下作為動態連接庫(jvm.dll)存在,用于解釋執行Java字節碼。在同一個版本的JRE中,虛擬機也有不同版本,如Client,Server之分。
三者的關系可以與PC,操作系統,硬件之間的關系做比較:
JRE相當于PC,各種Java類庫(通常使用Java編寫)相當于PC上的操作系統,可以方便的操作硬件資源,而Java中的原生類庫(通常使用C編寫)相當于Windows操作系統中的win32API,而JVM就相當于PC中的硬件了,負責運行和計算。而JDK只是一個編寫各種程序或者Java類庫的工具。
平時我們一般只要知道:在輸入java-version命令時,如果在系統PATH下存在java.exe這個可執行文件,在命令行中會得到相應Java的版本信息,如果沒有則會報錯。但是它在尋找對應的JRE時,其實另有一段隱情:
1.首先它會尋找自己目錄下的JRE
2.尋找父目錄下的JRE
3.尋找注冊表中HKEY_LOCAL_MACHINE\Software\JavaSoft\Java\RuntimeEnvironment\(相應版本)的值所指定的JRE,一般為Java目錄下JRE(非JDK目錄下的JRE)。
以上就是“JDK,JRE,JVM的關系是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。