JDK源码阅读-整理自CodeShape

从学习Java开发那一天起,我们每一天都在跟Java打交道,但是我们真正了解过Java背后的故事吗?当然,这里我指的不是了解Java的起源,发展故事…是那个在背后默默替我们执行代码保证运行通畅的那一套源码规则.

一.源码是什么

我们每天都在写代码,但是我们写的代码却不能称之为源码.
源码就像是最顶级的执法规则,制定好了一切源生的编码规则,甚至为你提供了多种可选用的工具.那些拥有绝顶智慧的人为使用Java语言的人考虑到了几乎任何情况的使用场景,并为我们设计了这一整套JDK,简称为Java开发工具包.
虽然我们每天接触的更多的是偏向业务层的代码,源码看起来遥不可及,但是从今天起纠正你这种想法,因为你写的每一行代码背后都是源码在为你做支撑.好在Java是开源共享的,你只要随便从官网上下载一个Java版本,就可以阅读到它.
何况作为一个努力想摆脱码农头衔的软件工程师,怎么能没有好奇心去一探究竟源码的秘密.

二.走近源码

我这里以Java8版本作为演示,打开我的JDK路径,注意到里面有个src.zip压缩包
src
这个压缩包里面就是所有的源码文件了,我们打开看一下里面有哪些内容.
这里我解压完之后,放到了IDEA创建的一个新的java工程目录下
source
这5个文件夹就是java8的所有源码了,看着是不是挺少的.
这里我们主要关注java这个文件夹,其下能够看到许多我们平时经常使用的包名
package
是不是很熟悉呢,io,lang,math,util等等都是最基础也是最常使用的几个包文件了.

三.调试源码

平时我们经常对自己的业务代码进行调试走断点,那么我们也想对源码走断点调试具体该怎么操作呢.
首先,将之前的jdk路径修改为你解压src.zip后迁移到工程中的路径,这样你就可以对源码进行注释和修改了.
在Setting->Project Structure中,点开SDKs,并选择到Sourcepath,将默认的src.zip路径移除,并添加你目前项目中的源码文件夹
在这里插入图片描述
这样设置完毕后,我们所有的代码执行都会指向你现在配置的"私有源码".
设置到这里还不能满足启动,由于我们这里将源码加进来了,当我们执行代码进行编译的时候,IDEA就会提示你系统资源不足,因为IDEA默认的系统资源分配为700MB
所以我们这里打开Settings下的Compiler,设置Build process heap size,这里我设置成1700MB
BUild process
这个时候,我们写个简单的HashMap想查看HashMap的实现原理,会发现并没有进入到源码中,这是因为IDEA默认不进入源码调试,这里我们设置最后一步,打开Setting下的Debugger,设置Stepping,将Do not step into the classes选择去除
在这里插入图片描述
这个时候,我写了一个简单的Map存放,并加入了一个断点

public static void main(String[] args) {
    Map<String, Double> map = new HashMap<>();

    map.put("one", 0.1);
    map.put("two", 0.2);
    map.put("three", 0.3);
}

step into
点击step into,你就会发现我们能成功进入到项目工程中的源码了.
源码
跟随源码,你就能查看到具体的源码实现了,并且你也可以对源码进行一些更改或者加注释,这已经成为了你的私人源码.

三.总结

以上的源码学习步骤都是源于B站up主CodeShape的分享,我觉得很有学习的必要,毕竟每个Java开发者都需要与源码打交道,这是一种很好的学习源码方法,故做此博文以共享.

参考资料:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jdk-11-windows是指Java开发工具包(Java Development Kit)的第11个版本,适用于Windows操作系统。JDK是使用Java语言进行开发的应用程序和软件的环境,它提供了许多工具和功能,可用于编写、编译和运行Java程序。 JDK-11包含了许多新的特性和改进,使得Java编程更加方便和高效。其中一项突出的特性是JVM(Java虚拟机)的性能改进,它可以提供更快速和更高效的执行速度。其他一些特性包括G1垃圾回收器的增强和适用于观察、诊断和监控Java程序的Java Flight Recorder和Java Mission Control工具等。 对于Windows用户来说,JDK-11提供了易于安装和使用的Windows平台上的开发环境。它包括了JRE(Java运行环境)和用于开发、调试和测试Java应用程序的工具集。通过JDK-11,开发人员可以利用Windows操作系统的优势和特性,进行快速、高效和可靠的Java开发。 此外,JDK-11还提供了许多与安全性和稳定性相关的改进。它包含了新的安全性特性,可以帮助开发人员保护他们的应用程序免受潜在的安全威胁。另外,JDK-11还包含了一些稳定性改进,可以提高应用程序的性能和可靠性。 总之,JDK-11-windows是适用于Windows操作系统的Java开发工具包的最新版本。它提供了许多新的特性和改进,使得Java开发更加方便、高效和安全。对于Windows用户来说,使用JDK-11可以提供更好的开发体验,使他们能够更轻松地创建出优秀的Java应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值