{"id":13441375,"url":"https://github.com/doocs/source-code-hunter","last_synced_at":"2025-05-13T15:04:28.118Z","repository":{"id":37318390,"uuid":"217943361","full_name":"doocs/source-code-hunter","owner":"doocs","description":"😱 从源码层面，剖析挖掘互联网行业主流技术的底层实现原理，为广大开发者 “提升技术深度” 提供便利。目前开放 Spring 全家桶，Mybatis、Netty、Dubbo 框架，及 Redis、Tomcat 中间件等","archived":false,"fork":false,"pushed_at":"2025-04-23T12:49:34.000Z","size":71134,"stargazers_count":22692,"open_issues_count":8,"forks_count":4192,"subscribers_count":448,"default_branch":"main","last_synced_at":"2025-05-05T22:41:40.126Z","etag":null,"topics":["dubbo","mybatis","netty","redis","sourcecode-analysis","spring"],"latest_commit_sha":null,"homepage":"https://schunter.doocs.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/doocs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":"doocs","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-10-28T01:35:10.000Z","updated_at":"2025-05-05T10:57:20.000Z","dependencies_parsed_at":"2022-07-12T21:01:23.471Z","dependency_job_id":"6e6ca3d3-287f-46ad-936a-e71b237e86d1","html_url":"https://github.com/doocs/source-code-hunter","commit_stats":{"total_commits":465,"total_committers":40,"mean_commits":11.625,"dds":0.7462365591397849,"last_synced_commit":"25a60bce6f219371bcdb07616f263ca2f6fd1b22"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":"doocs/doc-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doocs%2Fsource-code-hunter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doocs%2Fsource-code-hunter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doocs%2Fsource-code-hunter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doocs%2Fsource-code-hunter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doocs","download_url":"https://codeload.github.com/doocs/source-code-hunter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252820959,"owners_count":21809316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dubbo","mybatis","netty","redis","sourcecode-analysis","spring"],"created_at":"2024-07-31T03:01:33.256Z","updated_at":"2025-05-13T15:04:28.081Z","avatar_url":"https://github.com/doocs.png","language":"Java","readme":"# 互联网公司常用框架源码赏析\n\n[![license](https://badgen.net/github/license/doocs/source-code-hunter?color=green)](https://github.com/doocs/source-code-hunter/blob/main/LICENSE)\n[![stars](https://badgen.net/github/stars/doocs/source-code-hunter)](https://github.com/doocs/source-code-hunter/stargazers)\n[![contributors](https://badgen.net/github/contributors/doocs/source-code-hunter)](https://github.com/doocs/source-code-hunter/graphs/contributors)\n[![help-wanted](https://badgen.net/github/label-issues/doocs/source-code-hunter/help%20wanted/open)](https://github.com/doocs/source-code-hunter/labels/help%20wanted)\n[![issues](https://badgen.net/github/open-issues/doocs/source-code-hunter)](https://github.com/doocs/source-code-hunter/issues)\n[![PRs Welcome](https://badgen.net/badge/PRs/welcome/green)](http://makeapullrequest.com)\n\n“技术深度” 与 “技术广度”是对开发者来说最为重要的两个维度，本项目致力于从源码层面，剖析和挖掘互联网行业主流技术的底层实现原理，**为广大开发者 “提升技术深度” 提供便利**。\n\n加入我们，一起通读互联网行业主流框架及中间件源码，成为强大的 “源码猎人”，目前开放的有 **Spring 全家桶**、**Mybatis**、**Netty**、**Dubbo 框架**，及 **Redis**、**Tomcat** 中间件等，让我们一起开拓新的领地，揭开这些源码的神秘面纱。\n\n本项目主要用于记录框架及中间件源码的阅读经验、个人理解及解析，希望能够使阅读源码变成一件简单有趣，且有价值的事情，抽空更新中... (如果本项目对您有帮助，请 watch、star、fork 素质三连一波，鼓励一下作者，谢谢）\n\n## 网站\n\n[https://schunter.doocs.org](https://schunter.doocs.org)\n\n## Spring 系列\n\n### IoC 容器\n\n- [BeanDefinition 的资源定位过程](/docs/Spring/IoC/1、BeanDefinition的资源定位过程.md)\n- [将 bean 解析封装成 BeanDefinition](/docs/Spring/IoC/2、将bean解析封装成BeanDefinition.md)\n- [将 BeanDefinition 注册进 IoC 容器](/docs/Spring/IoC/3、将BeanDefinition注册进IoC容器.md)\n- [依赖注入(DI)](\u003c/docs/Spring/IoC/4、依赖注入(DI).md\u003e)\n- [BeanFactoryPostProcessor](/docs/Spring/IoC/BeanFactoryPostProcessor.md)\n- [BeanPostProcessor](/docs/Spring/IoC/BeanPostProcessor.md)\n- [Spring BeanFactory 源码解析](/docs/Spring/clazz/Spring-beanFactory.md)\n- [循环依赖](/docs/Spring/IoC/循环依赖.md)\n\n### AOP\n\n- [AOP 源码实现及分析](/docs/Spring/AOP/AOP源码实现及分析.md)\n- [JDK 动态代理的实现原理解析](/docs/Spring/AOP/JDK动态代理的实现原理解析.md)\n- [Spring AOP 如何生效(Spring AOP 标签解析)](/docs/Spring/AOP/Spring-Aop如何生效.md)\n\n### SpringMVC\n\n- [IoC 容器 在 Web 环境 中的启动](/docs/Spring/SpringMVC/IoC容器在Web环境中的启动.md)\n- [SpringMVC 的设计与实现](/docs/Spring/SpringMVC/SpringMVC的设计与实现.md)\n- [SpringMVC 跨域解析](/docs/Spring/SpringMVC/SpringMVC-CROS.md)\n- [Spring-MVC-HandlerMapping](/docs/Spring/mvc/Spring-MVC-HandlerMapping.md)\n- [Spring-mvc-MappingRegistry](/docs/Spring/mvc/Spring-mvc-MappingRegistry.md)\n\n### SpringJDBC\n\n- 努力编写中...\n\n### Spring 事务\n\n- [Spring 与事务处理](/docs/Spring/SpringTransaction/Spring与事务处理.md)\n- [Spring 声明式事务处理](/docs/Spring/SpringTransaction/Spring声明式事务处理.md)\n- [Spring 事务处理的设计与实现](/docs/Spring/SpringTransaction/Spring事务处理的设计与实现.md)\n- [Spring 事务管理器的设计与实现](/docs/Spring/SpringTransaction/Spring事务管理器的设计与实现.md)\n- [Spring 事务解析](/docs/Spring/TX/Spring-transaction.md)\n\n### Spring 源码故事（瞎编版）\n\n- [面筋哥 IoC 容器的一天(上)](\u003c/docs/Spring/Spring源码故事（瞎编版）/面筋哥IoC容器的一天(上).md\u003e)\n\n### Spring 整体脉络\n\n- [16 张图解锁 Spring 的整体脉络](/docs/Spring/Spring整体脉络/16张图解锁Spring的整体脉络.md)\n\n### Spring 类解析\n\n- [Spring 自定义标签解析](/docs/Spring/clazz/Spring-Custom-label-resolution.md)\n- [Spring Scan 包扫描](/docs/Spring/clazz/Spring-scan.md)\n- [Spring 注解工具类](/docs/Spring/clazz/Spring-AnnotationUtils.md)\n- [Spring 别名注册](/docs/Spring/clazz/Spring-SimpleAliasRegistry.md)\n- [Spring 标签解析类](/docs/Spring/clazz/Spring-BeanDefinitionParserDelegate.md)\n- [Spring ApplicationListener](/docs/Spring/clazz/Spring-ApplicationListener.md)\n- [Spring messageSource](/docs/Spring/clazz/Spring-MessageSource.md)\n- [Spring 自定义属性解析器](/docs/Spring/clazz/Spring-Custom-attribute-resolver.md)\n- [Spring 排序工具](/docs/Spring/clazz/Spring-OrderUtils.md)\n\n- [Spring-import 注解](/docs/Spring/clazz/Spring-Import.md)\n- [Spring-定时任务](/docs/Spring/clazz/Spring-Scheduling.md)\n- [Spring StopWatch](/docs/Spring/clazz/Spring-StopWatch.md)\n- [Spring 元数据](/docs/Spring/clazz/Spring-Metadata.md)\n- [Spring 条件接口](/docs/Spring/clazz/Spring-Conditional.md)\n\n- [Spring MultiValueMap](/docs/Spring/clazz/Spring-MultiValueMap.md)\n- [Spring MethodOverride](/docs/Spring/clazz/Spring-MethodOverride.md)\n- [Spring BeanDefinitionReaderUtils](/docs/Spring/clazz/Spring-BeanDefinitionReaderUtils.md)\n- [Spring PropertyPlaceholderHelper](/docs/Spring/clazz/Spring-PropertyPlaceholderHelper.md)\n\n- [Spring PropertySource](/docs/Spring/clazz/PropertySource)\n- [Spring PlaceholderResolver](/docs/Spring/clazz/PlaceholderResolver)\n\n- [Spring-AnnotationFormatterFactory](/docs/Spring/clazz/format/Spring-AnnotationFormatterFactory.md)\n- [Spring-Formatter](/docs/Spring/clazz/format/Spring-Formatter.md)\n- [Spring-Parser](/docs/Spring/clazz/format/Spring-Parser.md)\n- [Spring-Printer](/docs/Spring/clazz/format/Spring-Printer.md)\n\n### Spring5 新特性\n\n- [Spring5-spring.components 解析](/docs/Spring/Spring5新特性/Spring-spring-components.md)\n\n### Spring RMI\n\n- [Spring RMI](/docs/Spring/RMI/Spring-RMI.md)\n\n### Spring Message\n\n- [Spring EnableJMS](/docs/Spring/message/Spring-EnableJms.md)\n- [Spring JmsTemplate](/docs/Spring/message/Spring-JmsTemplate.md)\n- [Spring MessageConverter](/docs/Spring/message/Spring-MessageConverter.md)\n\n### SpringBoot\n\n- [SpringBoot run 方法解析](/docs/SpringBoot/Spring-Boot-Run.md)\n- [SpringBoot 配置加载解析](/docs/SpringBoot/SpringBoot-application-load.md)\n- [SpringBoot 自动装配](/docs/SpringBoot/SpringBoot-自动装配.md)\n- [SpringBoot ConfigurationProperties](/docs/SpringBoot/SpringBoot-ConfigurationProperties.md)\n- [SpringBoot 日志系统](/docs/SpringBoot/SpringBoot-LogSystem.md)\n- [SpringBoot ConditionalOnBean](/docs/SpringBoot/SpringBoot-ConditionalOnBean.md)\n\n### Spring Cloud\n\n- [Spring Cloud Commons 源码](docs/SpringCloud/spring-cloud-commons-source-note.md)\n- [Spring Cloud OpenFeign 源码](docs/SpringCloud/spring-cloud-openfeign-source-note.md)\n- [Spring Cloud Gateway 源码](docs/SpringCloud/spring-cloud-gateway-source-note.md)\n\n### SpringSecurity\n\n- [SpringSecurity 请求全过程解析](/docs/SpringSecurity/SpringSecurity请求全过程解析.md)\n- [SpringSecurity 自定义用户认证](/docs/SpringSecurity/SpringSecurity自定义用户认证.md)\n- [SpringSecurity 流程补充](/docs/SpringSecurity/SpringSecurity流程补充.md)\n\n## MyBatis\n\n### 基础支持层\n\n- [反射工具箱和 TypeHandler 系列](docs/Mybatis/基础支持层/1、反射工具箱和TypeHandler系列.md)\n- [DataSource 及 Transaction 模块](docs/Mybatis/基础支持层/2、DataSource及Transaction模块.md)\n- [binding 模块](docs/Mybatis/基础支持层/3、binding模块.md)\n- [缓存模块](docs/Mybatis/基础支持层/4、缓存模块.md)\n\n### 核心处理层\n\n- [MyBatis 初始化](docs/Mybatis/核心处理层/1、MyBatis初始化.md)\n- [SqlNode 和 SqlSource](docs/Mybatis/核心处理层/2、SqlNode和SqlSource.md)\n- [ResultSetHandler](docs/Mybatis/核心处理层/3、ResultSetHandler.md)\n- [StatementHandler](docs/Mybatis/核心处理层/4、StatementHandler.md)\n- [Executor 组件](docs/Mybatis/核心处理层/5、Executor组件.md)\n- [SqlSession 组件](docs/Mybatis/核心处理层/6、SqlSession组件.md)\n\n### 类解析\n\n- [Mybatis-Cache](/docs/Mybatis/基础支持层/Mybatis-Cache.md)\n- [Mybatis-log](/docs/Mybatis/基础支持层/Mybatis-log.md)\n- [Mybatis-Reflector](/docs/Mybatis/基础支持层/Mybatis-Reflector.md)\n- [Mybatis-Alias](/docs/Mybatis/核心处理层/Mybatis-Alias.md)\n- [Mybatis-Cursor](/docs/Mybatis/核心处理层/Mybatis-Cursor.md)\n- [Mybatis-DataSource](/docs/Mybatis/核心处理层/Mybatis-DataSource.md)\n- [Mybatis-DynamicSqlSource](/docs/Mybatis/核心处理层/Mybatis-DynamicSqlSource.md)\n- [Mybatis-MapperMethod](/docs/Mybatis/核心处理层/Mybatis-MapperMethod.md)\n- [Mybatis-MetaObject](/docs/Mybatis/核心处理层/Mybatis-MetaObject.md)\n- [Mybatis-MethodSignature](/docs/Mybatis/核心处理层/Mybatis-MethodSignature.md)\n- [Mybatis-ObjectWrapper](/docs/Mybatis/核心处理层/Mybatis-ObjectWrapper.md)\n- [Mybatis-ParamNameResolver](/docs/Mybatis/核心处理层/Mybatis-ParamNameResolver.md)\n- [Mybatis-SqlCommand](/docs/Mybatis/核心处理层/Mybatis-SqlCommand.md)\n- [Mybatis-GenericTokenParser](/docs/Mybatis/核心处理层/Mybatis-GenericTokenParser.md)\n\n## Netty\n\n### 网络 IO 技术基础\n\n- [把被说烂的 BIO、NIO、AIO 再从头到尾扯一遍](docs/Netty/IOTechnologyBase/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md)\n- [IO 模型](docs/Netty/IOTechnologyBase/IO模型.md)\n- [四种 IO 编程及对比](docs/Netty/IOTechnologyBase/四种IO编程及对比.md)\n\n### JDK1.8 NIO 包 核心组件源码剖析\n\n- [Selector、SelectionKey 及 Channel 组件](docs/Netty/IOTechnologyBase/Selector、SelectionKey及Channel组件.md)\n\n### Netty 粘拆包及解决方案\n\n- [TCP 粘拆包问题及 Netty 中的解决方案](docs/Netty/TCP粘拆包/TCP粘拆包问题及Netty中的解决方案.md)\n\n### Netty 多协议开发\n\n- [基于 HTTP 协议的 Netty 开发](docs/Netty/Netty多协议开发/基于HTTP协议的Netty开发.md)\n- [基于 WebSocket 协议的 Netty 开发](docs/Netty/Netty多协议开发/基于WebSocket协议的Netty开发.md)\n- [基于自定义协议的 Netty 开发](docs/Netty/Netty多协议开发/基于自定义协议的Netty开发.md)\n\n### 基于 Netty 开发服务端及客户端\n\n- [基于 Netty 的服务端开发](docs/Netty/基于Netty开发服务端及客户端/基于Netty的服务端开发.md)\n- [基于 Netty 的客户端开发](docs/Netty/基于Netty开发服务端及客户端/基于Netty的客户端开发.md)\n\n### Netty 主要组件的源码分析\n\n- [ByteBuf 组件](docs/Netty/Netty主要组件源码分析/ByteBuf组件.md)\n- [Channel 组件 和 Unsafe 组件](docs/Netty/Netty主要组件源码分析/Channel和Unsafe组件.md)\n- [EventLoop 组件](docs/Netty/Netty主要组件源码分析/EventLoop组件.md)\n- [ChannelPipeline 和 ChannelHandler 组件](docs/Netty/Netty主要组件源码分析/ChannelPipeline和ChannelHandler组件.md)\n- [Future 和 Promise 组件](docs/Netty/Netty主要组件源码分析/Future和Promise组件.md)\n\n### Netty 高级特性\n\n- [Netty 架构设计](docs/Netty/AdvancedFeaturesOfNetty/Netty架构设计.md)\n- [Netty 高性能之道](docs/Netty/AdvancedFeaturesOfNetty/Netty高性能之道.md)\n\n### Netty 技术细节源码分析\n\n- [FastThreadLocal 源码分析](docs/Netty/Netty技术细节源码分析/FastThreadLocal源码分析.md)\n- [Recycler 对象池原理分析](docs/Netty/Netty技术细节源码分析/Recycler对象池原理分析.md)\n- [MpscLinkedQueue 队列原理分析](docs/Netty/Netty技术细节源码分析/MpscLinkedQueue队列原理分析.md)\n- [HashedWheelTimer 时间轮原理分析](docs/Netty/Netty技术细节源码分析/HashedWheelTimer时间轮原理分析.md)\n- [HashedWheelTimer \u0026 schedule](docs/Netty/Netty技术细节源码分析/HashedWheelTimer\u0026schedule.md)\n- [ByteBuf 的内存泄漏原因与检测原理](docs/Netty/Netty技术细节源码分析/ByteBuf的内存泄漏原因与检测原理.md)\n- [内存池之 PoolChunk 设计与实现](docs/Netty/Netty技术细节源码分析/内存池之PoolChunk设计与实现.md)\n- [内存池之从内存池申请内存](docs/Netty/Netty技术细节源码分析/内存池之从内存池申请内存.md)\n\n## Dubbo\n\n### 架构设计\n\n- [Dubbo 整体架构](docs/Dubbo/architectureDesign/Dubbo整体架构.md)\n\n### SPI 机制\n\n- [Dubbo 与 Java 的 SPI 机制](docs/Dubbo/SPI/Dubbo与Java的SPI机制.md)\n\n### 注册中心\n\n- [Dubbo 注册中心模块简析](docs/Dubbo/registry/Dubbo注册中心模块简析.md)\n- [注册中心的 Zookeeper 实现](docs/Dubbo/registry/注册中心的Zookeeper实现.md)\n\n### 远程通信\n\n- [Dubbo 远程通信模块简析](docs/Dubbo/remote/Dubbo远程通信模块简析.md)\n- [Transport 组件](docs/Dubbo/remote/Transport组件.md)\n- [Exchange 组件](docs/Dubbo/remote/Exchange组件.md)\n- [Buffer 组件](docs/Dubbo/remote/Buffer组件.md)\n- [基于 Netty 实现远程通信](docs/Dubbo/remote/基于Netty实现远程通信.md)\n- [基于 HTTP 实现远程通信](docs/Dubbo/remote/基于HTTP实现远程通信.md)\n\n### RPC\n\n- [RPC 模块简析](docs/Dubbo/RPC/RPC模块简析.md)\n- [Protocol 组件](docs/Dubbo/RPC/Protocol组件.md)\n- [Proxy 组件](docs/Dubbo/RPC/Proxy组件.md)\n- [Dubbo 协议](docs/Dubbo/RPC/Dubbo协议.md)\n- [Hessian 协议](docs/Dubbo/RPC/Hessian协议.md)\n\n### 集群\n\n- [Dubbo 集群模块简析](docs/Dubbo/cluster/Dubbo集群模块简析.md)\n- [负载均衡](docs/Dubbo/cluster/负载均衡.md)\n- [集群容错](docs/Dubbo/cluster/集群容错.md)\n- [mock 与服务降级](docs/Dubbo/cluster/mock与服务降级.md)\n\n## Tomcat\n\n### Servlet 与 Servlet 容器\n\n- [servlet-api 源码赏析](docs/Tomcat/servlet-api源码赏析.md)\n- [一个简单的 Servlet 容器](docs/Tomcat/一个简单的servlet容器代码设计.md)\n- [Servlet 容器详解](docs/Tomcat/servlet容器详解.md)\n\n### Web 容器\n\n- [一个简单的 Web 服务器](docs/Tomcat/一个简单的Web服务器代码设计.md)\n\n## Redis\n\n- [深挖 Redis 6.0 源码——SDS](docs/Redis/redis-sds.md)\n\n## Nacos\n\n- [nacos 服务注册](docs/nacos/nacos-discovery.md)\n\n## Sentinel\n\n- [sentinel 时间窗口实现](docs/Sentinel/Sentinel时间窗口的实现.md)\n- [Sentinel 底层 LongAdder 的计数实现](docs/Sentinel/Sentinel底层LongAdder的计数实现.md)\n- [Sentinel 限流算法的实现](docs/Sentinel/Sentinel限流算法的实现.md)\n\n## RocketMQ\n\n- [RocketMQ NameServer 与 Broker 的通信](docs/rocketmq/rocketmq-nameserver-broker.md)\n- [RocketMQ 生产者启动流程](docs/rocketmq/rocketmq-producer-start.md)\n- [RocketMQ 消息发送流程](docs/rocketmq/rocketmq-send-message.md)\n- [RocketMQ 消息发送存储流程](docs/rocketmq/rocketmq-send-store.md)\n- [RocketMQ MappedFile 内存映射文件详解](docs/rocketmq/rocketmq-mappedfile-detail.md)\n- [RocketMQ ConsumeQueue 详解](docs/rocketmq/rocketmq-consumequeue.md)\n- [RocketMQ CommitLog 详解](docs/rocketmq/rocketmq-commitlog.md)\n- [RocketMQ IndexFile 详解](docs/rocketmq/rocketmq-indexfile.md)\n- [RocketMQ 消费者启动流程](docs/rocketmq/rocketmq-consumer-start.md)\n- [RocketMQ 消息拉取流程](docs/rocketmq/rocketmq-pullmessage.md)\n- [RocketMQ Broker 处理拉取消息请求流程](docs/rocketmq/rocketmq-pullmessage-processor.md)\n- [RocketMQ 消息消费流程](docs/rocketmq/rocketmq-consume-message-process.md)\n\n## 番外篇（JDK 1.8）\n\n### 基础类库\n\n- [String 类 源码赏析](docs/JDK/basic/String.md)\n- [Thread 类 源码赏析](docs/JDK/basic/Thread.md)\n- [ThreadLocal 类 源码赏析](docs/JDK/basic/ThreadLocal.md)\n\n### 集合\n\n- [HashMap 类 源码赏析](docs/JDK/collection/HashMap.md)\n- [ConcurrentHashMap 类 源码赏析](docs/JDK/collection/ConcurrentHashMap.md)\n- [LinkedHashMap 类 源码赏析](docs/JDK/collection/LinkedHashMap.md)\n- [ArrayList 类 源码赏析](docs/JDK/collection/ArrayList.md)\n- [LinkedList 类 源码赏析](docs/JDK/collection/LinkedList.md)\n- [HashSet 类 源码赏析](docs/JDK/collection/HashSet.md)\n- [TreeSet 类 源码赏析](docs/JDK/collection/TreeSet.md)\n\n### 并发编程\n\n- [JUC 并发包 UML 全量类图](docs/JDK/concurrentCoding/JUC并发包UML全量类图.md)\n- [Executor 线程池组件 源码赏析](docs/JDK/concurrentCoding/Executor线程池组件.md)\n- [Lock 锁组件 源码赏析](docs/JDK/concurrentCoding/Lock锁组件.md)\n- [详解 AbstractQueuedSynchronizer 抽象类](docs/JDK/concurrentCoding/详解AbstractQueuedSynchronizer.md)\n- [Semaphore 类 源码赏析](docs/JDK/concurrentCoding/Semaphore.md)\n\n## 学习心得\n\n### 个人经验\n\n- [初级开发者应该从 Spring 源码中学什么](docs/LearningExperience/PersonalExperience/初级开发者应该从spring源码中学什么.md)\n\n### 设计模式\n\n- [从 Spring 及 Mybatis 框架源码中学习设计模式(创建型)](\u003cdocs/LearningExperience/DesignPattern/从Spring及Mybatis框架源码中学习设计模式(创建型).md\u003e)\n- [从 Spring 及 Mybatis 框架源码中学习设计模式(行为型)](\u003cdocs/LearningExperience/DesignPattern/从Spring及Mybatis框架源码中学习设计模式(行为型).md\u003e)\n- [从 Spring 及 Mybatis 框架源码中学习设计模式(结构型)](\u003cdocs/LearningExperience/DesignPattern/从Spring及Mybatis框架源码中学习设计模式(结构型).md\u003e)\n\n### 多线程\n\n- [Java 并发编程在各主流框架中的应用](docs/LearningExperience/ConcurrentProgramming/Java并发编程在各主流框架中的应用.md)\n\n---\n\n## Stars 趋势\n\n[![Star History Chart](https://api.star-history.com/svg?repos=doocs/source-code-hunter\u0026type=Date)](https://star-history.com/#doocs/source-code-hunter\u0026Date)\n\n## Doocs 社区优质项目\n\nGitHub 技术社区 [Doocs](https://github.com/doocs)，致力于打造一个内容完整、持续成长的互联网开发者学习生态圈！以下是 Doocs 的一些优秀项目，欢迎各位开发者朋友持续保持关注。\n\n| #   | 项目                                                              | 描述                                                                                             | 热度                                                                                                                            |\n| --- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |\n| 1   | [advanced-java](https://github.com/doocs/advanced-java)           | 互联网 Java 工程师进阶知识完全扫盲：涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。 | ![](https://badgen.net/github/stars/doocs/advanced-java) \u003cbr\u003e![](https://badgen.net/github/forks/doocs/advanced-java)           |\n| 2   | [leetcode](https://github.com/doocs/leetcode)                     | 多种编程语言实现 LeetCode、《剑指 Offer（第 2 版）》、《程序员面试金典（第 6 版）》题解。        | ![](https://badgen.net/github/stars/doocs/leetcode) \u003cbr\u003e![](https://badgen.net/github/forks/doocs/leetcode)                     |\n| 3   | [source-code-hunter](https://github.com/doocs/source-code-hunter) | 互联网常用组件框架源码分析。                                                                     | ![](https://badgen.net/github/stars/doocs/source-code-hunter) \u003cbr\u003e![](https://badgen.net/github/forks/doocs/source-code-hunter) |\n| 4   | [jvm](https://github.com/doocs/jvm)                               | Java 虚拟机底层原理知识总结。                                                                    | ![](https://badgen.net/github/stars/doocs/jvm) \u003cbr\u003e![](https://badgen.net/github/forks/doocs/jvm)                               |\n| 5   | [coding-interview](https://github.com/doocs/coding-interview)     | 代码面试题集，包括《剑指 Offer》、《编程之美》等。                                               | ![](https://badgen.net/github/stars/doocs/coding-interview) \u003cbr\u003e![](https://badgen.net/github/forks/doocs/coding-interview)     |\n| 6   | [md](https://github.com/doocs/md)                                 | 一款高度简洁的微信 Markdown 编辑器。                                                             | ![](https://badgen.net/github/stars/doocs/md) \u003cbr\u003e![](https://badgen.net/github/forks/doocs/md)                                 |\n| 7   | [technical-books](https://github.com/doocs/technical-books)       | 值得一看的技术书籍列表。                                                                         | ![](https://badgen.net/github/stars/doocs/technical-books) \u003cbr\u003e![](https://badgen.net/github/forks/doocs/technical-books)       |\n\n## 贡献者\n\n感谢以下所有朋友对 [GitHub 技术社区 Doocs](https://github.com/doocs) 所做出的贡献，[参与项目维护请戳这儿](https://doocs.github.io/#/?id=how-to-join)。\n\n\u003c!-- ALL-CONTRIBUTORS-LIST: START - Do not remove or modify this section --\u003e\n\n\u003ca href=\"https://opencollective.com/doocs/contributors.svg?width=890\u0026button=true\"\u003e\u003cimg src=\"https://opencollective.com/doocs/contributors.svg?width=890\u0026button=false\" /\u003e\u003c/a\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST: END --\u003e\n\n## 公众号\n\n[Doocs](https://github.com/doocs) 技术社区旗下唯一公众号「**Doocs**」​，欢迎扫码关注，**专注分享技术领域相关知识及行业最新资讯**。当然，也可以加我个人微信（备注：GitHub），拉你进技术交流群。\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" style=\"width: 260px;\"\u003e\n      \u003cimg src=\"https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/gh/doocs/images/qrcode-for-doocs.png\" style=\"width: 400px;\"\u003e\u003cbr\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" style=\"width: 260px;\"\u003e\n      \u003cimg src=\"https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/gh/doocs/images/qrcode-for-yanglbme.png\" style=\"width: 400px;\"\u003e\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n关注「**Doocs**」公众号，回复 **PDF**，即可获取 [互联网 Java 工程师进阶知识完全扫盲](https://github.com/doocs/advanced-java) 项目离线 PDF 文档（283 页精华），学习更加方便！\n\n![](./images/pdf.png)\n","funding_links":["https://opencollective.com/doocs"],"categories":["HarmonyOS","Java","后端开发框架及项目","综合"],"sub_categories":["Windows Manager","管理面板"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoocs%2Fsource-code-hunter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoocs%2Fsource-code-hunter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoocs%2Fsource-code-hunter/lists"}