天天看点

搭建JDK源码阅读环境,jdk源码阅读(一)

搭建JDK8源码阅读环境

  1. 创建一个Java项目(最基础的Java项目就可以),jdk源码在jdk目录中的src.zip中,解压后把解压的目录复制到创建的项目中。
  2. 创建一个测试用例,打断点调试运行一下。
    搭建JDK源码阅读环境,jdk源码阅读(一)
  3. 会报如下图中的错误
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
  4. 解决第一个问题

    Information:java: 系统资源不足。

    Error:java: OutOfMemoryError: insufficient memory

    OOM错误,原因内存不足。解决办法加大内存。

    点击File–>Settings–>Build,Execution,Deployment–>Compiler,将Build process heap size(Mbytes)选项加大,默认值是700,调至1200:

    搭建JDK源码阅读环境,jdk源码阅读(一)
  5. 解决第二个问题
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)

    找不到符号UNIXToolkit,FontConfigManager

    错误原因:这是因为在Windows平台下缺少了两个java类文件所导致的。

    这两个类文件可在OpenJDK网站上找到。

    https://openjdk.java.net/

    搭建JDK源码阅读环境,jdk源码阅读(一)
    然后选择自己的版本,我的是这个
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
    搭建JDK源码阅读环境,jdk源码阅读(一)
    找到两个文件后把它们复制到如图所示的位置。
    搭建JDK源码阅读环境,jdk源码阅读(一)
  6. 解决第三个问题
    搭建JDK源码阅读环境,jdk源码阅读(一)

    Error:(40, 31) java: 程序包com.sun.tools.javac.api不存在

    Error:(41, 38) java: 程序包com.sun.tools.javac.processing不存在

    Error:(42, 32) java: 程序包com.sun.tools.javac.util不存在

    错误原因:缺少tools的jar包所。

    解决办法:点击File–>Project Structure–>Libraries

    搭建JDK源码阅读环境,jdk源码阅读(一)
    选择自己的JDK安装目录,在lib目录下找到tools.jar,导入就好。
    搭建JDK源码阅读环境,jdk源码阅读(一)
  7. 如果现在断点单步调试的话还是无法进入源码内部,因为JDK源码的受保护的,无法进入。点击File–>Settings–>Build,Execution,Deployment–>Debugger–>Stepping,取消勾选Do not step into the classes。
    搭建JDK源码阅读环境,jdk源码阅读(一)
  8. 现在源码文件是只读的无法编辑,因为此时项目关联的源码文件还不是刚才复制进项目的文件,而是jdk安装目录下的源码文件,如果我们想要对源码文件做记录或者注释,重新将项目关联的源码文件设置成该项目下的源码文件即可。

    点击File–>Project Structure–>SDKs

    搭建JDK源码阅读环境,jdk源码阅读(一)
    需要先将原先的jdk安装目录下关联的源码路径删除,添加刚才拷贝至项目目录下的源码路径,然后就可以编辑了。