自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

揭露JDK,JRE,JVM三者不為人知的隱情

開(kāi)發(fā) 后端
這里向大家描述一下JDK,JRE,JVM三者的的關(guān)系,JRE相當(dāng)于PC,各種Java類(lèi)庫(kù)(通常使用Java編寫(xiě))相當(dāng)于PC上的操作系統(tǒng),JVM就相當(dāng)于PC中的硬件了,負(fù)責(zé)運(yùn)行和計(jì)算。而JDK只是一個(gè)編寫(xiě)各種程序或者Java類(lèi)庫(kù)的工具。

你對(duì)JDK,JRE,JVM的關(guān)系是否了解,JDK是SUN公司發(fā)布的用于開(kāi)發(fā)Java程序的工具包,JRE相當(dāng)于PC,各種Java類(lèi)庫(kù)(通常使用Java編寫(xiě))相當(dāng)于PC上的操作系統(tǒng),而JVM是Java虛擬機(jī),在window下作為動(dòng)態(tài)連接庫(kù)(jvm.dll)存在,用于解釋執(zhí)行Java字節(jié)碼。

JDK,JRE,JVM的關(guān)系

JDK(JavadevelopmemtKit):

是SUN公司發(fā)布的用于開(kāi)發(fā)Java程序的工具包,在它的bin目錄下有很多工具,常見(jiàn)的包括:javac.exe,java.exe,javadoc.exe等(其中有很多都是用Java編寫(xiě)的)各種版本的IDE工具也是需要使用JDK來(lái)完成編譯,打包,運(yùn)行等各種功能的。

JRE(JavaRuntimeEnvironment):

顧名思義,java的運(yùn)行環(huán)境,而JDK是開(kāi)發(fā)工具,在它的安裝目錄下包含了JRE目錄,其實(shí)在安裝JDK時(shí)(1.4版本以上),有一個(gè)安裝選項(xiàng),如果勾上時(shí),在Java的安裝目錄下會(huì)多一個(gè)JRE目錄,這里的JRE與JDK下的JRE目錄基本上是完全一致的,那么為什么需要兩個(gè)JRE呢?

前面已經(jīng)提到過(guò),JDK的bin目錄下的很多工具都是用Java編寫(xiě)的,使用這些工具的時(shí)候也是需要運(yùn)行環(huán)境的,通過(guò)這些.exe包裝器(這些包裝器提供了尋找tools.jar中的一些java類(lèi)的快捷方法,不需要輸入一長(zhǎng)串的包名和類(lèi)名)來(lái)使用那些工具時(shí),java會(huì)自動(dòng)尋找父目錄下的JRE,所以在這里放置了JRE。

JVM(JavaVirtureMatchine):

Java虛擬機(jī),在window下作為動(dòng)態(tài)連接庫(kù)(jvm.dll)存在,用于解釋執(zhí)行Java字節(jié)碼。在同一個(gè)版本的JRE中,虛擬機(jī)也有不同版本,如Client,Server之分。

三者的關(guān)系可以與PC,操作系統(tǒng),硬件之間的關(guān)系做比較:

JRE相當(dāng)于PC,各種Java類(lèi)庫(kù)(通常使用Java編寫(xiě))相當(dāng)于PC上的操作系統(tǒng),可以方便的操作硬件資源,而Java中的原生類(lèi)庫(kù)(通常使用C編寫(xiě))相當(dāng)于Windows操作系統(tǒng)中的win32API,而JVM就相當(dāng)于PC中的硬件了,負(fù)責(zé)運(yùn)行和計(jì)算。而JDK只是一個(gè)編寫(xiě)各種程序或者Java類(lèi)庫(kù)的工具。

平時(shí)我們一般只要知道:在輸入java-version命令時(shí),如果在系統(tǒng)PATH下存在java.exe這個(gè)可執(zhí)行文件,在命令行中會(huì)得到相應(yīng)Java的版本信息,如果沒(méi)有則會(huì)報(bào)錯(cuò)。但是它在尋找對(duì)應(yīng)的JRE時(shí),其實(shí)另有一段隱情:

1.首先它會(huì)尋找自己目錄下的JRE

2.尋找父目錄下的JRE

3.尋找注冊(cè)表中HKEY_LOCAL_MACHINE\Software\JavaSoft\Java\RuntimeEnvironment\(相應(yīng)版本)的值所指定的JRE,一般為Java目錄下JRE(非JDK目錄下的JRE)。

【編輯推薦】

  1. JVM、JRE、JDK的區(qū)別和聯(lián)系
  2. 探究JVM1.6與JVM1.5性能差距
  3. JVM監(jiān)控在本地和遠(yuǎn)程的應(yīng)用
  4. JVM參數(shù)設(shè)置使用技巧
  5. JVM啟動(dòng)參數(shù)中標(biāo)準(zhǔn)參數(shù)列表速查手冊(cè)
責(zé)任編輯:佚名 來(lái)源: javaeye.com
相關(guān)推薦

2010-09-26 14:32:34

JDKJREJVM

2010-08-05 11:14:12

Flex優(yōu)勢(shì)

2010-09-27 11:32:41

JVMJREJDK

2010-09-03 08:52:38

CSS

2013-04-02 09:15:31

Windows Blu

2020-02-20 12:02:32

Python數(shù)據(jù)函數(shù)

2013-08-09 09:27:08

vCentervSphere

2010-04-19 16:09:22

Oracle控制文件

2011-11-15 10:25:56

IBMWindows

2011-11-08 13:41:27

蘋(píng)果siri人工智能數(shù)據(jù)中心

2014-08-18 10:44:31

斯諾登

2010-09-06 14:19:54

CSS

2011-11-14 10:06:16

IBM大型機(jī)支持Windows系統(tǒng)POWER7

2011-10-19 16:19:27

iOS 5蘋(píng)果

2012-11-30 14:13:01

2021-02-05 09:58:52

程序員Windows系統(tǒng)

2017-03-28 08:40:14

2021-11-09 07:34:34

Python函數(shù)代碼

2023-11-09 08:05:40

IDEA開(kāi)發(fā)工具

2021-03-11 09:54:34

零日漏洞漏洞黑客
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)