關(guān)于jdk,jvm,jre之間的關(guān)系
作者:早餐2塊2
dk:java開發(fā)包,包括java開發(fā)工具:javac.exe,jar.exe等
jvm:java虛擬機(jī)。以jvm.dll文件存在于計(jì)算機(jī)(windows平臺)
jre:java運(yùn)行環(huán)境。
一般來說(可以選擇),如果安裝了jdk,計(jì)算機(jī)就會存在兩套jre,一套位于jdk安裝目錄下的/jre子目錄中,另一套位于c:\Program File\Java\下。java的程序必須依靠jre才能執(zhí)行,jre包含了jvm,也就是java虛擬機(jī)。所以只要計(jì)算機(jī)中正確安裝了jre就能執(zhí)行java程序。為什么jre需要安裝兩套了,因?yàn)閖dk中有很多的java開發(fā)工具(jdk安裝目錄\lib\tools.jar)本身就是用java開發(fā)的,如果要使用,必須要自行附一套jre才行,也就是jdk下面jre存在的目的(其實(shí)也可以用來執(zhí)行我們的程序),而c:\Program File\Java\下的是用來執(zhí)行我們所寫的java程序的。
當(dāng)我們運(yùn)行java xxx時(shí),java.exe是按照下列順序?qū)ふ襧re的:
1,自己目錄下有無jre目錄
2,父目錄下的jre目錄
3,查詢 windows Register(HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\
所以我們程序的運(yùn)行與java.exe是哪個(gè)目錄下和這個(gè)java.exe所指引的jre很有關(guān)系。而java.exe的指定是根據(jù)系統(tǒng)的path變量。
參考書籍:《java深度歷險(xiǎn)》
posted on 2005-11-24 11:01 早餐2塊2 閱讀(742) 評論(0) 編輯 收藏 所屬分類: java基礎(chǔ)