想要運行JAVA程序的朋友們現在就將JRE9(Java SE Runtime Environment 9)帶走吧!JAVA程序經過不斷更新已經在操作係統、執行操作上麵有了很大幅度提升。JRE9功能非常多,這裏包括了Java2平台標準版的所有類庫。需要就帶走吧!
RE自帶的基礎類庫主要是JRE\lib\rt.jar這個文件,包括了Java2平台標準版的所有類庫。和JRE的版本一致。
Net Framekwork的核心類庫
Net Framekwork的核心類庫被放置在C:\Winnt\assembly\gac\目錄下,按照不同的名稱空間放在不同目錄中,不像JRE打成了一個包。並且可以同時存在不同的版本,例如:
某類庫1.0版本 C:\Winnt\assembly\gac\名稱\1.0\名稱.dll
某類庫1.1版本 C:\Winnt\assembly\gac\名稱\1.1\名稱.dll
這樣做,雖然很靈活,可以隨時把類庫更新到最新的狀態,但是很容易帶來版本管理的複雜度,造成版本不一致。
JRE中由ClassLoader負責查找和加載程序引用到的類庫,基礎類庫ClassLoader會到rt.jar中自動加載,其它的類庫,ClassLoader在環境變量CLASSPATH指定的路徑中搜索,按照先來先到的原則,放在CLASSPATH前麵的類庫先被搜到,Java程序啟動之前建議先把PATH和CLASSPATH環境變量設好,OS通過PATH來找JRE,確定基礎類庫rt.jar的位置,JRE的ClassLoader通過CLASSPATH找其它類庫。但有時候會出現這樣的情況,希望替換基礎類庫中的類庫,那麼也可以簡單的通過-Djava.endrosed.path=...參數傳遞給java.exe,於是ClassLoader會先於基礎類庫使用java.endrosed.path參數指定路徑的類庫。因此Java的版本管理是非常簡單有效的,也許很原始,不過很好用,簡單就不容易出錯。(所以我很奇怪Eric Ramond為什麼批評Java的類庫管理機製,他還居然批評Java的接口,令人懷疑他對Java的了解程度)