源码阅读
文章平均质量分 97
有关JDK、Spring、Mybatis源码阅读笔记等...
等一杯咖啡
未曾踏足山巅,时常坠落低谷,前者追逐梦想,后者受益良多...
展开
-
Dubbo源码——时间轮算法
定时任务/** * A task which is executed after the delay specified with * {@link Timer#newTimeout(TimerTask, long, TimeUnit)} (TimerTask, long, TimeUnit)}. */public interface TimerTask { /** * Executed after the delay specified with * {@link原创 2020-08-30 00:02:00 · 1091 阅读 · 0 评论 -
Dubbo源码——源码阅读环境搭建
I. 前言好久没写博客了,Markdown都有些生疏了,惭愧!终于又看起源码了,其实大论文还有好多没写,但我就是喜欢在该干些什么的时候跑去干点别的…这次准备对Dubbo下手了,好好研究一下,预览了一下感觉看完会有很多收获,特征是对Spring源码的理解可能更加深入。挺想在中间件那种团队,高大上的软件设计,不被业务所拘泥。II. 环境准备系统:Mac OSIDEA 2018.3 (好久...原创 2020-04-02 14:59:39 · 1079 阅读 · 2 评论 -
Jdk源码——LinkedList解析
前言本文主要针对 JDK1.8 的 LinkedList 源码进行解析,主要看源码注释,代码说明了全部实现细节。ArrayList 相关解析可以参考 Jdk源码——ArrayList解析I. 继承结构LinkedList 的继承结构如下,和 ArrayList (上一篇文章)相比,它们都实现了 Cloneable 和 Serializable 接口,都是 AbstractList 的子类,...原创 2019-02-27 16:21:30 · 443 阅读 · 0 评论 -
Jdk源码——ArrayList解析
前言本文主要针对 JDK1.8 的 ArrayList 源码进行解析,主要看源码注释,代码说明了全部实现细节。I. 继承结构ArrayList 的继承结构如下图所示,下面我们进行一一解析。SerializableSerializable 接口是启用其序列化功能的接口,接口定义如下:public interface Serializable {}实现 java.io.Serial...原创 2019-02-26 15:57:20 · 437 阅读 · 0 评论 -
Jdk源码——AQS同步队列解析
前言本文主要参考自《Java 并发编程的艺术》第五章内容,结合源码对书中内容进行分析补充。I. Lock接口在 Lock 接口出现之前,Java程序是靠 synchronized 关键字实现锁功能的,而 Java SE 5 之后,并发包中新增了 Lock 接口(以及相关实现类)用来实现锁功能,它提供了与 synchronized 关键字类似的同步功能,只是在使用时需要显式地获取和释放锁。...原创 2018-12-26 19:40:11 · 516 阅读 · 0 评论 -
Spring Boot源码——源码阅读环境搭建
前言阅读Spring Boot源码,需要先有所了解Spring Framework相关知识或者源码细节等,可以参考我之前的相关博客内容。接下来,主要着手研究Spring Boot这一块,如果还不知道怎么用Spring Boot,建立花费一些时间入门一下。本文主要是阅读源码的第一步,搭建阅读Spring Boot源码的环境,我们依然使用的是IDEA工具。环境准备JDK8+Maven3.5...原创 2019-04-21 16:32:41 · 19697 阅读 · 4 评论 -
Spring源码——MVC流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知原创 2019-04-19 15:12:50 · 808 阅读 · 0 评论 -
Spring源码——声明式事务流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知原创 2019-04-16 21:06:24 · 880 阅读 · 0 评论 -
Spring源码——动态AOP实现流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知原创 2019-04-14 23:15:29 · 1137 阅读 · 0 评论 -
Spring源码——ClassPathXmlApplicationContext流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知原创 2019-04-10 15:49:16 · 791 阅读 · 2 评论 -
Spring源码——XmlBeanFactory流程
前言最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图、图片等文件更新在https://github.com/MrSorrow/spring-framework仓库中,阅读博客不方便可以直接下载。思维导图使用MindMaster制作而成,可以下载导入查看。如果有知道如何在markdown中展示思维导图或矢量图的朋友,希望能评论告知 :)本文主要关...原创 2019-04-09 14:27:26 · 490 阅读 · 0 评论 -
Spring源码——Spring MVC
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第十一章的部分,依照书中内容以及个人理解对Spring源码进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-frameworkSpring框架提供了构建Web应用程序的全功能MVC模...原创 2018-11-22 13:16:36 · 1618 阅读 · 0 评论 -
Spring源码——SpringMVC测试工程搭建
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第十一章的部分,依照书中内容以及个人理解对Spring源码进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework本文作为正式研究SpringMVC的预热文章,主要目的是...原创 2018-11-17 01:50:07 · 2075 阅读 · 3 评论 -
Spring源码——消息队列
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第十三章的部分,依照书中内容以及个人理解对Spring源码进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-frameworkJava消息服务 (Java Message Servi...原创 2018-11-15 22:45:03 · 6079 阅读 · 0 评论 -
Spring源码——事务
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第十章的部分,依照书中内容以及个人理解对Spring源码进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework之前我们已经研究了Spring中关于 JDBC 和 MyB...原创 2018-11-11 17:23:08 · 940 阅读 · 1 评论 -
Spring源码——Mybatis
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第九章的部分,依照书中内容以及个人理解对Spring源码进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-frameworkMyBatis是一个数据库的框架,相信读者对其不会陌生,这...原创 2018-11-02 12:12:31 · 816 阅读 · 0 评论 -
Spring源码——JDBC
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第八章的部分,依照书中内容以及个人理解对Spring源码进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework本章内容基于之前所说的Spring IOC 和 AOP功能...原创 2018-10-27 20:03:17 · 1777 阅读 · 0 评论 -
Spring源码——AOP
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第七章的部分,依照书中内容以及个人理解对Spring源码进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework正式进入正文前,强烈推荐先阅读文末参考阅读第一篇:关于 S...原创 2018-10-21 17:05:44 · 2249 阅读 · 3 评论 -
Spring源码——容器扩展ApplicationContext
Spring源码——容器扩展ApplicationContext前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第六章的部分,依照书中内容以及个人理解对Spring进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framewor...原创 2018-10-06 10:15:42 · 4357 阅读 · 7 评论 -
Spring源码——bean的加载
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第五章的部分,依照书中内容以及个人理解对Spring进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework在前几篇文章中,我们已经完成了将XML配置文件的信息转换为 B...原创 2018-09-26 21:48:10 · 4510 阅读 · 3 评论 -
Spring源码——自定义标签解析
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第四章的部分,依照书中内容以及个人理解对Spring进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework在上一篇文章中,我们已经完成了分析Spring容器对四大...原创 2018-09-03 15:55:44 · 480 阅读 · 0 评论 -
Spring源码——默认标签解析
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第三章的部分,依照书中内容以及个人理解对Spring进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-framework在上一篇文章中,我们已经对Spring读取配置文件注册B...原创 2018-08-31 16:59:00 · 558 阅读 · 0 评论 -
Spring源码——容器的基本实现
前言内容主要参考自《Spring源码深度解析》一书,算是读书笔记或是原书的补充。进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情。本文主要涉及书中第二章的部分,依照书中内容以及个人理解对Spring进行了注释,详见Github仓库:https://github.com/MrSorrow/spring-frameworkI. 容器基本用法测试工程在上一篇文章中,已...原创 2018-07-27 13:28:30 · 2037 阅读 · 2 评论 -
Spring源码——IDEA读Spring源码环境搭建
IDEA读Spring源码环境搭建I. Spring介绍还有什么好介绍的,做 Java 的都知道。至于为什么读源码,还有什么好说的,还不是被逼的!II. Gradle安装下载:https://gradle.org/install/Windows平台下,需要配置gradle的环境变量。新增 GRADLE_HOME 环境变量,指向Gradle解压目录配置Path环境...原创 2018-07-23 17:45:50 · 30393 阅读 · 38 评论