jdk8 sun包源码下载 与 idea 设置源码

一、说明

平时学习与实际工作中我们一般安装的jdk都是SunJDK(OracleJDK),它只提供java和javax下的源代码,默认情况下IDEA会自动导入这两部分源码,供我们需要是查看:

jdk8 sun包源码下载 与 idea 设置源码

但是,如果我们需要查看sun包下的源码,默认时是没有的,比如:sun.nio.ch.DefaultSelectorProvider

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

二、下载

但是我们有时需要通过查看底层源码掌握或者学习jdk的实现以便进行方案选择、调优等,此时我们可以通过下载OpenJDK的源码来查看:

0、提供直接处理后的下载地址

链接:https://pan.baidu.com/s/1l5DH9q_9Ja1aUluI3bPUvA 
提取码:6gbi

1、下载地址http://hg.openjdk.java.net找到对应的jdk版本,比如jdk8 http://hg.openjdk.java.net/jdk8/jdk8/jdk/

2、选择左边的zip,下载源码

jdk8 sun包源码下载 与 idea 设置源码

3、下载后zip包打开如下:

jdk8 sun包源码下载 与 idea 设置源码

可见src下包含了针对各种平台的实现,我们需要根据需要(这里是选择windows平台)删除其他不需要查看源码的包,不然之后引入源码后不一定会查看到想要的平台源码,这里暴露windows的,其他删除:

三、在IDE里关联源码(我使用的时IDEA)

1、点击File -> Project Structure

2、在SDKs中对应jdk的Sourcepath下添加我们处理后的zip包

jdk8 sun包源码下载 与 idea 设置源码

3、选择zip包后对弹出如下图,直接点OK

jdk8 sun包源码下载 与 idea 设置源码

4、等待IDEA加载完成

jdk8 sun包源码下载 与 idea 设置源码

5、之后就可以查看到关联了openJDK的源码了