阅读jdk源码

1.首先介绍下如何导入jdk源码,需要下载jdk(不是jre),jdk包中会有一个src.zip,这个就是源码包

2.用idea新建一个普通java项目,把解压后的src所有文件拷到对应idea新建的java项目中,如下图:

 

  • java.* 
    java SE的标准库,是java标准的一部分,是对外承诺的java开发接口,通常要保持向后兼容,一般不会轻易修改。包括其他厂家的在内,所有jdk的实现,在java.*上都是一样的。

  • javax.* 
    也是java标准的一部分,但是没有包含在标准库中,一般属于标准库的扩展。通常属于某个特定领域,不是一般性的api。 
    所以以扩展的方式提供api,以避免jdk的标准库过大。当然某些早期的javax,后来被并入到标准库中,所有也应该属于新版本JDK的标准库。比如jmx,java 5以前是以扩展方式提供,但是jdk5以后就做为标准库的一部分了,所有javax.management也是jdk5的标准库的一部分。

  • com.sun.* 
    是sun的hotspot虚拟机中java.* 和javax.*的实现类。因为包含在rt中,所以我们也可以调用。但是因为不是sun对外公开承诺的接口,所以根据根据实现的需要随时增减,因此在不同版本的hotspot中可能是不同的,而且在其他的jdk实现中是没有的,调用这些类,可能不会向后兼容,所以一般不推荐使用。

  • org.omg.* 
    是由企业或者组织提供的java类库,大部分不是sun公司提供的,同com.sun.*,不具备向后兼容性,会根据需要随时增减。其中比较常用的是w3c提供的对XML、网页、服务器的类和接口。

  • launcher

 Launcher是JRE中用于启动程序入口main()的类

转自:https://blog.csdn.net/m0_37499059/article/details/79271593