JDK源碼包結構分類

轉載: http://blog.csdn.net/bbirdsky/article/details/17121677
最近查看JDK源碼時,無意間發現幾個類在陌生包裏:com.sun.*、sun.*、org.*,google了一把總結了下以備他人搜索,如內容有誤歡迎指正!

Jre庫包含的jar文件(jdk1.6):resources.jar、rt.jar、jsse.jar、jce.jar、charsets.jar、dnsns.jar、localedata.jar等共10個jar文件,其中resource.jar爲資源包(圖片、properties文件);rt.jar爲運行時包,子包結構如下圖:



Java.*、javax.*包,org.*包

1、作爲J2SE的API公開接口的一部分,與操作系統無關可以在所有Java平臺上運行

2、不同的jdk版本會保持兼容不會輕易變化,提供API文檔及源碼(src.zip)。


sun.*包

1、不是API公開接口的一部分,調用sun包的程序並不能確保工作在所有Java平臺上,不同的操作系統中的實現可能不相同。

2、不同的jdk版本sun包中的類也可能不定期的變化,因此sun.*包中的類沒有提供API文檔及源碼。


注意平臺無關性是Java語言最大的優勢之一,從技術上講,並不能防止你的程序調用sun.*包中的類。在JDK版本的變遷當中,這些類可能會被刪除或轉移到其它包路徑下,而且它的接口(包括名稱、標籤等)也很有可能發生變化,在這種情況下,即便你希望程序僅僅運行在SUN的實現平臺下,你仍將承受新的版本給你的系統帶來破壞的風險。總之,編寫依賴於sun.*包的Java程序是不安全的,他們將變得無法移植、破壞了程序的平臺無法性、也無法被JDK各版本所兼容


sun.*包中的類如何查看源碼?

1、如果只是查看單個類源碼,推薦一個網站進行搜索查看,可以很方便的查看API及源碼,網站地址:http://www.docjar.com/

2、如果希望在Eclipse中關聯源碼,我收集了一個jdk1.5的sun源碼包,下載地址:http://download.csdn.NET/detail/bbirdsky/6656243





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章