阅读jdk源码
1.首先介紹下如何導(dǎo)入jdk源碼,需要下載jdk(不是jre),jdk包中會(huì)有一個(gè)src.zip,這個(gè)就是源碼包
2.用idea新建一個(gè)普通java項(xiàng)目,把解壓后的src所有文件拷到對應(yīng)idea新建的java項(xiàng)目中,如下圖:
-
java.*?
java SE的標(biāo)準(zhǔn)庫,是java標(biāo)準(zhǔn)的一部分,是對外承諾的java開發(fā)接口,通常要保持向后兼容,一般不會(huì)輕易修改。包括其他廠家的在內(nèi),所有jdk的實(shí)現(xiàn),在java.*上都是一樣的。 -
javax.*?
也是java標(biāo)準(zhǔn)的一部分,但是沒有包含在標(biāo)準(zhǔn)庫中,一般屬于標(biāo)準(zhǔn)庫的擴(kuò)展。通常屬于某個(gè)特定領(lǐng)域,不是一般性的api。?
所以以擴(kuò)展的方式提供api,以避免jdk的標(biāo)準(zhǔn)庫過大。當(dāng)然某些早期的javax,后來被并入到標(biāo)準(zhǔn)庫中,所有也應(yīng)該屬于新版本JDK的標(biāo)準(zhǔn)庫。比如jmx,java 5以前是以擴(kuò)展方式提供,但是jdk5以后就做為標(biāo)準(zhǔn)庫的一部分了,所有javax.management也是jdk5的標(biāo)準(zhǔn)庫的一部分。 -
com.sun.*?
是sun的hotspot虛擬機(jī)中java.* 和javax.*的實(shí)現(xiàn)類。因?yàn)榘趓t中,所以我們也可以調(diào)用。但是因?yàn)?span style="color:#ff0000">不是sun對外公開承諾的接口,所以根據(jù)根據(jù)實(shí)現(xiàn)的需要隨時(shí)增減,因此在不同版本的hotspot中可能是不同的,而且在其他的jdk實(shí)現(xiàn)中是沒有的,調(diào)用這些類,可能不會(huì)向后兼容,所以一般不推薦使用。 -
org.omg.*?
是由企業(yè)或者組織提供的java類庫,大部分不是sun公司提供的,同com.sun.*,不具備向后兼容性,會(huì)根據(jù)需要隨時(shí)增減。其中比較常用的是w3c提供的對XML、網(wǎng)頁、服務(wù)器的類和接口。 -
launcher
總結(jié)
- 上一篇: conda虚拟环境中安装ipython
- 下一篇: python编程入门第一课_python