本文源码环境git地址:JDK8-SourceCode源码工程

1、环境准备

工具 版本
JDK 1.8.0_181
IDEA 2019.3.1

2、搭建源码阅读环境

新建Java工程,JDK配置为1.8,过程如下:

然后,在src目录下存放java源码,那么我们需要的src源码在哪?

将src.zip压缩包解压,这里面就是JDK的源码。然后src文件夹内容将其放在刚建的java工程src目录下,工程目录结构是这个样子。

Main.java类是自建的测试类,并不在src解压源码内。编写测试类Main.java

public class Main {public static void main(String[] args) {System.out.println("hello world!");}
}

运行测试类Main.java,基本上会出来很多问题。

3、问题汇总

问题1:缺少com.sun.tools包

解决:File ---> Project structure ---> Libraries 把Java工程中JDK路径下的lib包添加到工程中。

问题2:缺少sun.awt.UNIXToolkit.java 和 sun.font.FontConfigManager.java这两个类

解决:在src的目录下手动添加这两个类

这两个类可以去这个git仓库里找到的,https://github.com/kangjianwei/LearningJDK

问题3:debug的时候,误点Alternative source availble for the class xxxx 的disable

解决: 打开File ---> Project structure --->Debugger, 如下图 选中该选项

问题4:编译过程中报java:OutOfMemory,提示系统资源不足

解决:File--->Settings--->Build,Exception,Deployment--->Compiler--->Build process heap size调大一点,改成1000就行了

问题5:让代码运行时自动关联到当前项目src目录下的代码

解决:打开当前工程的Project Structure--->点开SDKs,在Sourcepath中移除IDEA上配置的jdk1.8源码路径,然后将Sourcepath路径指向当前Java工程的src目录

再次运行Main.java类,如果能正常执行,则环境已搭建好。

IDEA构建JDK_1.8源码阅读环境过程详解相关推荐

  1. 源码阅读及理论详解《 Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting 》

    Informer论文:https://arxiv.org/pdf/2012.07436.pdf Informer源码:GitHub - zhouhaoyi/Informer2020: The GitH ...

  2. Linux内核源码阅读以及工具详解

    接上篇Linux内核源码下载方法 这篇总结了如何利用source insight对Linux内核代码进行阅读和学习(资料来源于网络) 随着linux的逐步普及,现在有不少人对于Linux的安装及设置已 ...

  3. Spark源码学习之IDEA源码阅读环境搭建

    软件准备 (1)Java 1.8 (2)Scala 2.11.12(需要在IDEA中安装) (3)Maven 3.8.2(需要在IDEA中配置) (4)Git 2.33 以上软件需要安装好,并进行环境 ...

  4. jdk javac运行不了_Intellij IDEA搭建jdk源码阅读环境

    一.找到源码位置 直接找到jdk安装的目录,会看到src.zip的压缩包,这里面就是jdk的源码,例如下图: 在这里解压. 第一次尝试建议使用9或更早版本jdk的源码,否则易造成卡死. 二.Intel ...

  5. Windows + IDEA + SBT 打造Spark源码阅读环境

    Spark源码阅读环境的准备 Spark源码是有Scala语言写成的,目前,IDEA对Scala的支持要比eclipse要好,大多数人会选在在IDEA上完成Spark平台应用的开发.因此,Spark源 ...

  6. spring5.3.x源码阅读环境搭建

    spring5.3.x源码阅读环境搭建-gradle构建编译 文章目录 spring5.3.x源码阅读环境搭建-gradle构建编译 一.依赖工具 二.下载源码 三.开始构建 四.编译源码 五.源码测 ...

  7. ardupilot java_基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建

    基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...

  8. Mac搭建JDK源码阅读环境

    点赞再看,养成习惯,微信公众号搜索[虚竹讲程序经],获取更多技术干货! 想要读懂JDK源码,需要在自己电脑上搭建JDK的源码阅读环境,正所谓,工欲善其事,必先利其器.下面演示如何在Mac上结合Idea ...

  9. Mybatis 源码阅读环境搭建

    Mybatis源码阅读环境搭建 前言 一.下载mybatis的源码 二.编译源码 三.创建测试项目 前言     mybatis源码阅读环境搭建还是比较简单的,接下来我们讲解一下如何搭建该源码阅读环境 ...

  10. Spring Boot 2.0系列文章(四):Spring Boot 2.0 源码阅读环境搭建

    前提 前几天面试的时候,被问过 Spring Boot 的自动配置源码怎么实现的,没看过源码的我只能投降��了. 这不,赶紧来补补了,所以才有了这篇文章的出现,Spring Boot 2. 0 源码阅 ...

最新文章

  1. 任谦:实践是大数据提升项目的灵魂丨优秀毕业生专访
  2. delphi 使用UDP收发数据
  3. mysql数据库搜索字符_在MySQL数据库中快速搜索字符串?
  4. Celery + Flower + FastAPI + RabbitMQ ,Python实现异步消息队列和监控
  5. Python笔记 【无序】 【一】
  6. 程序员基本功03常见JAVA集合的实现细节
  7. 解决:DuplicateMappingException: Table [xx] contains physical column name referred to by multiple ... .
  8. 计算最后一个单词的字符串长度
  9. 计算机网络cr什么意思,现在网络上的“CR”是指什么意思
  10. c语言函数实际参数,C语言:函数声明与定义的参数不一致问题,后果可能很严重哦!!!!!...
  11. LINUX 硬盘分区及文件系统
  12. 转载:洛克菲勒家族参与投资土豆网
  13. vs2013连接数据库
  14. 《数据结构与算法》——线性表之顺序表(SqList)总结
  15. 科技解读:com域名价格为什么连年上涨?小微企业怎样应对?
  16. HTML与Java组合使用_【自学java笔记#第五十四天#】javaweb day02 html和css的组合使用...
  17. Linux实现基于Loopback的NVI(NAT Virtual Interface)
  18. 宝宝起名神器小程序源码_支持多种流量主模式
  19. Vue组件嵌套时生命周期函数触发顺序是什么?
  20. 复印机的工作过程大致如下

热门文章

  1. Oracle批量、大量Update方法总结
  2. Jquery 网站保存信息提示消息实现,提示后自动消失
  3. Nacos整合SpringCloud的自动注册原理
  4. 此博客记录我的日常学习过程
  5. 请教大家, 关于 $0118 号消息
  6. 李珊珊(为奥运冠军名字作诗)
  7. Shiro(五)——Shiro整合SSM入门完整案例
  8. Spring使用注解的方式实现AOP的开发——Spring AOP(七)
  9. basename 从绝对路径中取得文件名
  10. Nodejs解压版安装