如何将jdk12的源码导入idea
如何将jdk12的源码导入idea中
一
首先,在idea中新建一个java工程

接着,在本地找到jdk所在的文件目录,进入jdk目录,找到javasrc目录或者一个src.zip的压缩包,
在向下或者解压压缩包,找到java.base目录,这里面的java目录,就是我们要找的java最基本的源码了,我们主要就是阅读这部分源码

将java.base下的java目录复制到我们之前新建的java工程的src目录下

为了方便对源码进行调试,我们在src下面创建一个test目录,存放我们写的调试代码

二
为了能够调试源码,我们还需要对项目进行一些设置
打开idea的File菜单下的Project Structure,Modules, Sources,
将src从Source Folders中去掉

将我们之前创建的test目录加入到Source Folders中,具体操作,选中test目录,点击上方的Sources就能看到test目录加入到右侧的Source Folders中了

然后对Platform Settings 下的SDKs进行设置,将SourcePath设置为我们之前导入项目的源码目录,

并删掉SourcePath下的其他路径

点击OK保存修改。
三
最后我们就可以在test目录下编写调试代码,进行调试。
在调试前,我们先打开idea的settings,找到stepping设置选项(可以直接在settings中搜索找到)
将Do not step into the classes前面的对号去掉,这样我们在调试的时候就能单步进入源码中了

接下来我们进行调试,这里以HashMap的调试作为例子
我们在test目录下新建了一个HashMap调试类,然后在main方法中写一下简单的调试语句,进行调试

这里我们就能从断点位置单步进入到HashMap的源码中(这里可能会先进入Integer类的源码中)

如何将jdk12的源码导入idea的更多相关文章
- spring源码解析——spring源码导入eclipse
一.前言 众所周知,spring的强大之处.几乎所有的企业级开发中,都使用了spring了.在日常的开发中,我们是否只知道spring的配置,以及简单的使用场景.对其实现的代码没有进行深入的了 ...
- Tomcat源码导入eclipse的步骤
Tomcat源码导入eclipse 一.下载源码 1. 进入Apache 官网:http://tomcat.apache.org/ 2. 在左边侧选择要下载的源码的版本. 3. 或者直接通过Ar ...
- 将Android系统源码导入ecplise
Android系统源码中带有个IDE的配置文件,目录为:development/ide/ 如果要用eclipse导入查看系统源码,则将development/ide/eclipse/.classpat ...
- 将struts源码导入eclipse
预制条件和spring源码导入eclipse中一样,下面直接给出导入eclipse的步骤. 步骤: 1. 下载struts相应版本的源码 http://struts.apache.org/downlo ...
- tomcat源码导入eclipse步骤
1. 获取源代码 方式一:从官网http://tomcat.apache.org/download-70.cgi 直接下载,官网提供了Binary 和 Source Code两种下载方式,要研究tom ...
- Tomcat源码导入Eclipse测试
想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug). 这里参考了网上一些资料,将自己操作过程记个流水账. 准备: 1.Tomcat源码 ...
- spring4.0源码导入
一个面试,让我知道了自己的不足,一天不进步就是倒退. spring源码导入eclipse 本人的环境 (我导入的是最新的spring 4.0 所以要用jdk1.8) 1 安装git (mac上自带了g ...
- tomcat源码导入eclipse
1. 获取源代码 方式一:从官网http://tomcat.apache.org/download-70.cgi 直接下载,官网提供了Binary 和 Source Code两种下载方式,要研究tom ...
- Dubbo源码导入Eclipse遇到的问题
1.怎么将Dubbo源码导入到Eclipse 方法一: 打开Eclipse,File-->Import-->maven-->Exsting Maven Projects,选择dubb ...
随机推荐
- 【曹工杂谈】Maven源码调试工程搭建
Maven源码调试工程搭建 思路 我们前面的文章<[曹工杂谈]Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗>分析了Maven大体的执行阶段,主要包括三个阶段: 启动类阶段,负责 ...
- Python__requests模块的基本使用
1 - 安装和导入 pip install requests import requests 2 - requsts的请求方法 requests.get('https://www.baidu.com/ ...
- ubuntu 20.04 发邮件配置
安装sendmail后,发邮件一直没有成功,因此卸载sendmail后,安装heirloom-mailx. # unbuntu 18.04和20.04移除了heirloom-mailx,需要另外配置软 ...
- 路由懒加载---Vue Router
一.什么是懒加载? 懒加载也就是延迟加载或者按需加载,即在需要的时候进行加载. 二.为什么在Vue路由中使用懒加载? 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常 ...
- 放码来战!HMS Core线上Codelabs挑战赛正式开始
亲爱的开发者,在1024程序员节即将到来之际,HMS Core准备了一场线上Codelabs挑战赛,现向你发出诚挚邀请,希望你能将新奇的想法和对产品的思考融入代码,用技术与世界对话. HMS Core ...
- Java多线程-1(3)
本份随记主要为狂神老师的Java多线程教学的学习笔记,记载了视频中一些有关基础概念以及部分代码示例.随机分为1-3共三份,知识点记录的不是很深入,以后的学习过程中随时补充. 1 有关基础概念 1.1 ...
- leetcode 盛水最多的容器 解析
采用双指针法: 主要思想:定义头尾两个指针,分别向中间遍历,当相遇时结束循环.存储每一次遍历容器盛水的最大容量,并不断更新. 盛水的最大容量为 左右指针高度的最小值 乘以 左右指针的距离即宽度. 则可 ...
- win10环境charles抓包unknow问题
win10环境,charles已经安装了证书,但是抓包的时候还是unknow,让人头疼. 1.确保证书安装成功. 2.检查charles设置是否正确. 进入Charles - > Proxy - ...
- filter_var() 验证邮箱、ip、url的格式 php
验证邮箱格式的正确与否:你的第一解决方案是什么呢? 不管你们怎么思考的:反正我首先想到的就是字符串查找看是否有@符号: 但是对于结尾的.com或者.net 亦或者.cn等等越来越多的域名验证感觉棘手: ...
- bzoj4589-Hard Nim【FWT】
正题 题目链接:https://darkbzoj.tk/problem/4589 题目大意 求有多少个长度为\(n\)的数列满足它们都是不大于\(m\)的质数且异或和为\(0\). 解题思路 两个初始 ...