最近在學(xué)習(xí)Class加載的過程凭豪,無意中看到ClassLoader中有sun開頭的類焙蹭,甚是奇怪,隨知孤陋寡聞了墅诡,不由感嘆到j(luò)ava果然博大精深壳嚎,在下拜服。特此記錄一番末早,以方便同輩人士觀之
java.*
JavaSE的標(biāo)準(zhǔn)庫(kù)烟馅,是java標(biāo)準(zhǔn)的一部分,是對(duì)外承諾的java開發(fā)接口然磷,通常要保持向后兼容郑趁,一般不會(huì)輕易修改。包括其他廠家(IBMJDK/HPJDK/OpenJDK)在內(nèi)姿搜,所有jdk的實(shí)現(xiàn)寡润,在java.*上都是一樣的。javax.*
也是java標(biāo)準(zhǔn)的一部分舅柜,但是沒有包含在標(biāo)準(zhǔn)庫(kù)中梭纹,一般屬于標(biāo)準(zhǔn)庫(kù)的擴(kuò)展。通常屬于某個(gè)特定領(lǐng)域致份,不是一般性的api变抽。
此上兩者都屬于java標(biāo)準(zhǔn)庫(kù),公有的API氮块,遵循java平臺(tái)規(guī)范绍载,
com.sun.*
是sun的hotspot虛擬機(jī)中java.* 和javax.*的實(shí)現(xiàn)類。因?yàn)榘趓t中滔蝉,所以我們也可以調(diào)用击儡。但是因?yàn)椴皇莝un對(duì)外公開承諾的接口,所以根據(jù)根據(jù)實(shí)現(xiàn)的需要隨時(shí)增減蝠引,因此在不同版本的hotspot中可能是不同的阳谍,而且在其他的jdk實(shí)現(xiàn)中是沒有的,調(diào)用這些類立肘,可能不會(huì)向后兼容边坤,所以一般不推薦使用。org.*
是由企業(yè)或者組織提供的java類庫(kù)谅年,大部分不是sun公司提供的茧痒,同com.sun.*,不具備向后兼容性融蹂,會(huì)根據(jù)需要隨時(shí)增減旺订。其中比較常用的是w3c提供的對(duì)XML弄企、網(wǎng)頁、服務(wù)器的類和接口sun.*包:
1区拳、不是API公開接口的一部分拘领,調(diào)用sun包的程序并不能確保工作在所有Java平臺(tái)上,不同的操作系統(tǒng)中的實(shí)現(xiàn)可能不相同樱调。
2约素、不同的jdk版本sun包中的類也可能不定期的變化,因此sun.*包中的類沒有提供API文檔及源碼笆凌。
不建議使用