明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

知道ClassLoader(節(jié)選)

[摘要]了解ClassLoader(節(jié)選)完整文章下載:http://www-900.ibm.com/developerWorks/education/java/j-classloader/j-classl...
了解ClassLoader(節(jié)選)
完整文章下載:
http://www-900.ibm.com/developerWorks/education/java/j-classloader/j-classloader.zip


在流行的商業(yè)化編程語言中,Java 語言由于在 Java 虛擬機 (JVM) 上運行而顯得與眾不同。這意味著已編譯的程序是一種特殊的、獨立于平臺的格式,并非依賴于它們所運行的機器。在很大程度上,這種格式不同于傳統(tǒng)的可執(zhí)行程序格式。

與 C 或 C++ 編寫的程序不同,Java 程序并不是一個可執(zhí)行文件,而是由許多獨立的類文件組成,每一個文件對應于一個 Java 類。

此外,這些類文件并非立即全部都裝入內存,而是根據(jù)程序需要裝入內存。ClassLoader 是 JVM 中將類裝入內存的那部分。

而且,Java ClassLoader 就是用 Java 語言編寫的。這意味著創(chuàng)建您自己的 ClassLoader 非常容易,不必了解 JVM 的微小細節(jié)。

如果 JVM 已經(jīng)有一個 ClassLoader,那么為什么還要編寫另一個呢?問得好。缺省的 ClassLoader 只知道如何從本地文件系統(tǒng)裝入類文件。不過這只適合于常規(guī)情況,即已全部編譯完 Java 程序,并且計算機處于等待狀態(tài)。

但 Java 語言最具新意的事就是 JVM 可以非常容易地從那些非本地硬盤或從網(wǎng)絡上獲取類。例如,瀏覽者可以使用定制的 ClassLoader 從 Web 站點裝入可執(zhí)行內容。

有許多其它方式可以獲取類文件。除了簡單地從本地或網(wǎng)絡裝入文件以外,可以使用定制的 ClassLoader 完成以下任務:

*在執(zhí)行非置信代碼之前,自動驗證數(shù)字簽名
*使用用戶提供的密碼透明地解密代碼
*動態(tài)地創(chuàng)建符合用戶特定需要的定制化構建類
*任何您認為可以生成 Java 字節(jié)碼的內容都可以集成到應用程序中。