深入剖析Java運行環(huán)境組成
本文向大家簡單介紹一下Java運行環(huán)境,JRE為JavaRunTimeEnvirment的簡稱,JavaRuntimeEnvironment(包括JavaPlug-in)是Sun的產(chǎn)品,包括兩部分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE)是可以在其上運行、測試和傳輸應(yīng)用程序的Java平臺。
Java運行環(huán)境介紹
JRE(JavaRuntimeEnvironment,Java運行環(huán)境),運行JAVA程序所必須的環(huán)境的集合,包含JVM標(biāo)準(zhǔn)實現(xiàn)及Java核心類庫。
JRE為JavaRunTimeEnvirment的簡稱,JavaRuntimeEnvironment(包括JavaPlug-in)是Sun的產(chǎn)品,包括兩部分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE)是可以在其上運行、測試和傳輸應(yīng)用程序的Java平臺。它包括Java虛擬機、Java平臺核心類和支持文件。它不包含開發(fā)工具--編譯器、調(diào)試器和其它工具。JRE需要輔助軟件--JavaPlug-in--以便在瀏覽器中運行applet。
JavaPlug-in軟件允許Javaapplet和JavaBeans組件在使用Sun的JavaRuntimeEnvironment(Java運行環(huán)境)的瀏覽器中運行,而不是在使用缺省的Java運行環(huán)境的瀏覽器中運行。JavaPlug-in可用于NetscapeNavigator和MicrosoftInternetExplorer。
J2RE是Java2RuntimeEnvironment,即Java運行環(huán)境,有時簡稱JRE。如果你只需要運行Java程序或Applet,下載并安裝它即可。如果你要自行開發(fā)Java軟件,請下載JDK。在JDK中附帶有JRE。注意由于Microsoft對Java的支持不完全,請不要使用IE自帶的虛擬機來運行Applet,務(wù)必安裝一個JRE或JDK。
Java運行環(huán)境版本管理
Java的解決辦法是每個程序自己攜帶一套JRE。
我的機器上已經(jīng)被安裝了好多套JRE和JDK了(JDK包括了同版本的Java運行環(huán)境,此外還包括有編譯器和其它工具),它們分別是:
BEAWeblogicServer7。0自帶一套JDK1。3。1_02
我下載了一套最新的JDK1。4。1_02
JBuilder9自帶一套JKD1。4。1_02
Oracle8。1。7自帶一套JRE1。1。7
RationRose自帶一套JDK1。3
DreamWeaver自帶一套JDK1。3
6套JRE,每套JRE都被各自安裝到不同的目錄,不會互相影響。當(dāng)在控制臺執(zhí)行java。exe,操作系統(tǒng)尋找JRE(Java運行環(huán)境)的方式如下:
先找當(dāng)前目錄下有沒有JRE
再找父目錄下有沒有JRE
接著在PATH路徑中找JRE
注冊表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JavaRuntimeEnvironment\查看CurrentVersion的鍵值指向哪個JRE
最常用的是在PATH路徑中找JRE,一般情況下,自己的程序運行之前都會先在批處理文件里面臨時設(shè)置PATH,把自己用的JRE放到PATH路徑最前面,所以肯定會運行自己帶的JRE,不會造成版本混亂。
Java運行環(huán)境基礎(chǔ)類庫
JRE自帶的基礎(chǔ)類庫主要是JRE\lib\rt。jar這個文件,包括了Java2平臺標(biāo)準(zhǔn)版的所有類庫。和JRE的版本一致。
Java運行環(huán)境類庫的查找方法和版本管理
JRE中由ClassLoader負(fù)責(zé)查找和加載程序引用到的類庫,基礎(chǔ)類庫ClassLoader會到rt。jar中自動加載,其它的類庫,ClassLoader在環(huán)境變量CLASSPATH指定的路徑中搜索,按照先來先到的原則,放在CLASSPATH前面的類庫先被搜到,Java程序啟動之前建議先把PATH和CLASSPATH環(huán)境變量設(shè)好,OS通過PATH來找JRE,確定基礎(chǔ)類庫rt。
jar的位置,JRE的ClassLoader通過CLASSPATH找其它類庫。但有時候會出現(xiàn)這樣的情況,希望替換基礎(chǔ)類庫中的類庫,那么也可以簡單的通過-Djava。endrosed。path=…參數(shù)傳遞給java。exe,于是ClassLoader會先于基礎(chǔ)類庫使用java。endrosed。path參數(shù)指定路徑的類庫。因此Java的版本管理是非常簡單有效的,也許很原始,不過很好用,簡單就不容易出錯
【編輯推薦】