java包分類包括java.*,sun.*

最近在學習Class加載的過程,無意中看到ClassLoader中有sun開頭的類,甚是奇怪,隨知孤陋寡聞了,不由感嘆到java果然博大精深,在下拜服。特此記錄一番,以方便同輩人士觀之

  1. java.*
    JavaSE的標準庫,是java標準的一部分,是對外承諾的java開發(fā)接口,通常要保持向后兼容,一般不會輕易修改。包括其他廠家(IBMJDK/HPJDK/OpenJDK)在內(nèi),所有jdk的實現(xiàn),在java.*上都是一樣的。

  2. javax.*
    也是java標準的一部分,但是沒有包含在標準庫中,一般屬于標準庫的擴展。通常屬于某個特定領域,不是一般性的api。

此上兩者都屬于java標準庫,公有的API,遵循java平臺規(guī)范,

  1. com.sun.*
    是sun的hotspot虛擬機中java.* 和javax.*的實現(xiàn)類。因為包含在rt中,所以我們也可以調(diào)用。但是因為不是sun對外公開承諾的接口,所以根據(jù)根據(jù)實現(xiàn)的需要隨時增減,因此在不同版本的hotspot中可能是不同的,而且在其他的jdk實現(xiàn)中是沒有的,調(diào)用這些類,可能不會向后兼容,所以一般不推薦使用。

  2. org.*
    是由企業(yè)或者組織提供的java類庫,大部分不是sun公司提供的,同com.sun.*,不具備向后兼容性,會根據(jù)需要隨時增減。其中比較常用的是w3c提供的對XML、網(wǎng)頁、服務器的類和接口

  3. sun.*包:
    1、不是API公開接口的一部分,調(diào)用sun包的程序并不能確保工作在所有Java平臺上,不同的操作系統(tǒng)中的實現(xiàn)可能不相同。

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

不建議使用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容