{"id":15344701,"url":"https://github.com/moremind/javanote","last_synced_at":"2025-09-02T11:07:32.407Z","repository":{"id":40704916,"uuid":"248011835","full_name":"moremind/JavaNote","owner":"moremind","description":"My Java Work Notes","archived":false,"fork":false,"pushed_at":"2023-11-10T14:08:39.000Z","size":16783,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-13T21:32:07.122Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.how2.cn","language":"Less","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moremind.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-03-17T15:55:56.000Z","updated_at":"2023-06-12T16:14:39.000Z","dependencies_parsed_at":"2023-11-10T15:38:40.616Z","dependency_job_id":null,"html_url":"https://github.com/moremind/JavaNote","commit_stats":{"total_commits":147,"total_committers":2,"mean_commits":73.5,"dds":0.03401360544217691,"last_synced_commit":"cd45ba0b62ffa2a8ac6d941670935d83f7e89fd9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/moremind/JavaNote","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moremind%2FJavaNote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moremind%2FJavaNote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moremind%2FJavaNote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moremind%2FJavaNote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moremind","download_url":"https://codeload.github.com/moremind/JavaNote/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moremind%2FJavaNote/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273272579,"owners_count":25075991,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-01T11:02:09.865Z","updated_at":"2025-09-02T11:07:32.361Z","avatar_url":"https://github.com/moremind.png","language":"Less","funding_links":[],"categories":[],"sub_categories":[],"readme":"- [1.CS-Lesson](1.CS-Lesson/)\n  - [datastruct](1.CS-Lesson/datastruct.md)\n- [2.JavaNotes](2.JavaNotes/)\n  - [(1).java-basis](2.JavaNotes/(1).java-basis/)\n    - [Java值传递与引用传递](2.JavaNotes/(1).java-basis/Java值传递与引用传递.md)\n    - [stage-1](2.JavaNotes/(1).java-basis/stage-1/)\n      - [Java函数式设计](2.JavaNotes/(1).java-basis/stage-1/Java函数式设计.md)\n      - [Java基础](2.JavaNotes/(1).java-basis/stage-1/Java基础.md)\n      - [面向对象上](2.JavaNotes/(1).java-basis/stage-1/面向对象上.md)\n      - [面向对象下](2.JavaNotes/(1).java-basis/stage-1/面向对象下.md)\n    - [stage-2](2.JavaNotes/(1).java-basis/stage-2/)\n      - [集合框架](2.JavaNotes/(1).java-basis/stage-2/集合框架.md)\n      - [集合框架高级应用](2.JavaNotes/(1).java-basis/stage-2/集合框架高级应用.md)\n      - [集合框架算法应用](2.JavaNotes/(1).java-basis/stage-2/集合框架算法应用.md)\n    - [stage-3](2.JavaNotes/(1).java-basis/stage-3/)\n      - [1.线程与进程](2.JavaNotes/(1).java-basis/stage-3/1.线程与进程.md)\n      - [2.Java并发编程基础](2.JavaNotes/(1).java-basis/stage-3/2.Java并发编程基础.md)\n      - [3.Java并发框架(JUC)基本运用](2.JavaNotes/(1).java-basis/stage-3/3.Java并发框架(JUC)基本运用.md)\n      - [4.Java并发框架(JUC)高级运用](2.JavaNotes/(1).java-basis/stage-3/4.Java并发框架(JUC)高级运用.md)\n    - [stage-4](2.JavaNotes/(1).java-basis/stage-4/)\n      - [2.JMM(Java内存模型)](2.JavaNotes/(1).java-basis/stage-4/2.JMM(Java内存模型).md)\n      - [3.AQS原理](2.JavaNotes/(1).java-basis/stage-4/3.AQS原理.md)\n      - [4.Java并发实现](2.JavaNotes/(1).java-basis/stage-4/4.Java并发实现.md)\n    - [实用的Java编程技巧之命名攻略](2.JavaNotes/(1).java-basis/实用的Java编程技巧之命名攻略.md)\n  - [(2).java-high](2.JavaNotes/(2).java-high/)\n    - [1.Java-Net](2.JavaNotes/(2).java-high/1.Java-Net/)\n    - [2.Java-NIO](2.JavaNotes/(2).java-high/2.Java-NIO/)\n    - [3.Java-JUC](2.JavaNotes/(2).java-high/3.Java-JUC/)\n      - [1.Volatile关键字](2.JavaNotes/(2).java-high/3.Java-JUC/1.Volatile关键字.md)\n    - [4.Java-Function(函数式编程)](2.JavaNotes/(2).java-high/4.Java-Function(函数式编程)/)\n    - [5.Java-Stream(Java流式编程)](2.JavaNotes/(2).java-high/5.Java-Stream(Java流式编程)/)\n    - [6.Java-Reflect(Java反射)](2.JavaNotes/(2).java-high/6.Java-Reflect(Java反射)/)\n    - [7.Java函数相关](2.JavaNotes/(2).java-high/7.Java函数相关/)\n  - [(3).java-analysis](2.JavaNotes/(3).java-analysis/)\n    - [1.到底什么是线程安全和线程不安全？](2.JavaNotes/(3).java-analysis/1.到底什么是线程安全和线程不安全？.md)\n  - [(4).java-source](2.JavaNotes/(4).java-source/)\n  - [(5).jvm](2.JavaNotes/(5).jvm/)\n    - [JVM基础](2.JavaNotes/(5).jvm/JVM基础.md)\n  - [(6).springboot](2.JavaNotes/(6).springboot/)\n    - [springboot-lesson-1](2.JavaNotes/(6).springboot/springboot-lesson-1/)\n      - [1.springboot-web](2.JavaNotes/(6).springboot/springboot-lesson-1/1.springboot-web.md)\n      - [5.web容器](2.JavaNotes/(6).springboot/springboot-lesson-1/5.web容器.md)\n      - [6.数据库JDBC](2.JavaNotes/(6).springboot/springboot-lesson-1/6.数据库JDBC.md)\n      - [7.mybatis](2.JavaNotes/(6).springboot/springboot-lesson-1/7.mybatis.md)\n  - [(7).springcloud](2.JavaNotes/(7).springcloud/)\n    - [springcloud-lesson-1](2.JavaNotes/(7).springcloud/springcloud-lesson-1/)\n      - [2.springcloud-配置](2.JavaNotes/(7).springcloud/springcloud-lesson-1/2.springcloud-配置.md)\n      - [3.springcloud-config-server](2.JavaNotes/(7).springcloud/springcloud-lesson-1/3.springcloud-config-server.md)\n      - [4.服务发现注册](2.JavaNotes/(7).springcloud/springcloud-lesson-1/4.服务发现注册.md)\n      - [5.高可用服务治理](2.JavaNotes/(7).springcloud/springcloud-lesson-1/5.高可用服务治理.md)\n      - [6.服务负载均衡](2.JavaNotes/(7).springcloud/springcloud-lesson-1/6.服务负载均衡.md)\n      - [7.spring-cloud-Netflix-Ribbon源码分析](2.JavaNotes/(7).springcloud/springcloud-lesson-1/7.spring-cloud-Netflix-Ribbon源码分析.md)\n      - [8.springcloud服务短路](2.JavaNotes/(7).springcloud/springcloud-lesson-1/8.springcloud服务短路.md)\n      - [9.Hystrix源码解读](2.JavaNotes/(7).springcloud/springcloud-lesson-1/9.Hystrix源码解读.md)\n      - [10.服务调用](2.JavaNotes/(7).springcloud/springcloud-lesson-1/10.服务调用.md)\n      - [11.服务网关](2.JavaNotes/(7).springcloud/springcloud-lesson-1/11.服务网关.md)\n      - [12.消息整合驱动](2.JavaNotes/(7).springcloud/springcloud-lesson-1/12.消息整合驱动.md)\n      - [13.binder实现](2.JavaNotes/(7).springcloud/springcloud-lesson-1/13.binder实现.md)\n      - [14.消息总线](2.JavaNotes/(7).springcloud/springcloud-lesson-1/14.消息总线.md)\n      - [15.分布式应用跟踪](2.JavaNotes/(7).springcloud/springcloud-lesson-1/15.分布式应用跟踪.md)\n      - [16.综合整理](2.JavaNotes/(7).springcloud/springcloud-lesson-1/16.综合整理.md)\n  - [(8).interview-lesson](2.JavaNotes/(8).interview-lesson/)\n    - [interview-1](2.JavaNotes/(8).interview-lesson/interview-1/)\n      - [1.面试内容概述](2.JavaNotes/(8).interview-lesson/interview-1/1.面试内容概述.md)\n      - [2.05_知其然而知其所以然：如何进行消息队列的技术选型？](2.JavaNotes/(8).interview-lesson/interview-1/2.05_知其然而知其所以然：如何进行消息队列的技术选型？.md)\n      - [3.06_引入消息队列之后该如何保证其高可用性？](2.JavaNotes/(8).interview-lesson/interview-1/3.06_引入消息队列之后该如何保证其高可用性？.md)\n      - [4.07_如何解决消息队列中产生重复的数据](2.JavaNotes/(8).interview-lesson/interview-1/4.07_如何解决消息队列中产生重复的数据.md)\n      - [5.08_如何保证消息的可靠性传输（如何处理消息丢失的问题）？](2.JavaNotes/(8).interview-lesson/interview-1/5.08_如何保证消息的可靠性传输（如何处理消息丢失的问题）？.md)\n      - [6.09_怎么保证从消息队列里拿到的数据按顺序执行？](2.JavaNotes/(8).interview-lesson/interview-1/6.09_怎么保证从消息队列里拿到的数据按顺序执行？.md)\n      - [7.10_几百万消息在消息队列里积压了几个小时！(消息堆积、消息满队满了)](2.JavaNotes/(8).interview-lesson/interview-1/7.10_几百万消息在消息队列里积压了几个小时！(消息堆积、消息满队满了).md)\n      - [8.11_如果让你来开发一个消息队列中间件，你会怎么设计架构？](2.JavaNotes/(8).interview-lesson/interview-1/8.11_如果让你来开发一个消息队列中间件，你会怎么设计架构？.md)\n      - [8.12_rabbitMQ与Kafka的部署实现方案](2.JavaNotes/(8).interview-lesson/interview-1/8.12_rabbitMQ与Kafka的部署实现方案.md)\n      - [9.13_体验一下面试官对于分布式搜索引擎的4个连环炮](2.JavaNotes/(8).interview-lesson/interview-1/9.13_体验一下面试官对于分布式搜索引擎的4个连环炮.md)\n      - [10.14_分布式搜索引擎的架构是怎么设计的？为啥是分布式的？](2.JavaNotes/(8).interview-lesson/interview-1/10.14_分布式搜索引擎的架构是怎么设计的？为啥是分布式的？.md)\n      - [11.15_分布式搜索引擎写入和查询的工作流程是什么样的？](2.JavaNotes/(8).interview-lesson/interview-1/11.15_分布式搜索引擎写入和查询的工作流程是什么样的？.md)\n      - [12.16_es在数据量很大的情况下（数十亿级别）如何提高查询效率啊？](2.JavaNotes/(8).interview-lesson/interview-1/12.16_es在数据量很大的情况下（数十亿级别）如何提高查询效率啊？.md)\n      - [13.17_es生产集群的部署架构是什么？每个索引的数据量大概有多少？每个索引大概有多少个分片？](2.JavaNotes/(8).interview-lesson/interview-1/13.17_es生产集群的部署架构是什么？每个索引的数据量大概有多少？每个索引大概有多少个分片？.md)\n      - [14.19_在项目中缓存是如何使用的？缓存如果使用不当会造成什么后果？](2.JavaNotes/(8).interview-lesson/interview-1/14.19_在项目中缓存是如何使用的？缓存如果使用不当会造成什么后果？.md)\n      - [15.20_redis和memcached有什么区别？redis的线程模型是什么？](2.JavaNotes/(8).interview-lesson/interview-1/15.20_redis和memcached有什么区别？redis的线程模型是什么？.md)\n      - [16.21_Redis都有哪些数据类型？分别在哪些场景下使用比较合适](2.JavaNotes/(8).interview-lesson/interview-1/16.21_Redis都有哪些数据类型？分别在哪些场景下使用比较合适.md)\n      - [17.22_redis的过期策略都有哪些？内存淘汰机制都有哪些？手写一下LRU代码实现？](2.JavaNotes/(8).interview-lesson/interview-1/17.22_redis的过期策略都有哪些？内存淘汰机制都有哪些？手写一下LRU代码实现？.md)\n      - [18.23_如何保证Redis高并发、高可用？Redis的主从复制原理能介绍一下么？Redis的哨兵原理能介绍一下么？](2.JavaNotes/(8).interview-lesson/interview-1/18.23_如何保证Redis高并发、高可用？Redis的主从复制原理能介绍一下么？Redis的哨兵原理能介绍一下么？.md)\n      - [19.23_1_Redis主从架构以及redis-replication的核心机制以及主从复制的原理和流程](2.JavaNotes/(8).interview-lesson/interview-1/19.23_1_Redis主从架构以及redis-replication的核心机制以及主从复制的原理和流程.md)\n      - [20.23_2_Redis哨兵集群实现高可用](2.JavaNotes/(8).interview-lesson/interview-1/20.23_2_Redis哨兵集群实现高可用.md)\n      - [20.23_3_Redis哨兵集群实现高可用](2.JavaNotes/(8).interview-lesson/interview-1/20.23_3_Redis哨兵集群实现高可用.md)\n      - [21.24_怎么保证redis挂掉之后再重启数据可以进行恢复？或者redis的持久化问题或者持久化机制具体底层是如何实现的？](2.JavaNotes/(8).interview-lesson/interview-1/21.24_怎么保证redis挂掉之后再重启数据可以进行恢复？或者redis的持久化问题或者持久化机制具体底层是如何实现的？.md)\n      - [22.25_你能聊聊redis-cluster集群模式的原理吗？](2.JavaNotes/(8).interview-lesson/interview-1/22.25_你能聊聊redis-cluster集群模式的原理吗？.md)\n      - [23.26_了解什么是redis的雪崩、穿透和击穿？redis崩溃之后会怎么样？系统该如何应对这种情况？如何处理redis的穿透？](2.JavaNotes/(8).interview-lesson/interview-1/23.26_了解什么是redis的雪崩、穿透和击穿？redis崩溃之后会怎么样？系统该如何应对这种情况？如何处理redis的穿透？.md)\n      - [24.27_如何保证缓存与数据库的双写一致性？](2.JavaNotes/(8).interview-lesson/interview-1/24.27_如何保证缓存与数据库的双写一致性？.md)\n      - [25.28_Redis的并发竞争问题是什么？如何解决这个问题？了解Redis事务的CAS方案吗？](2.JavaNotes/(8).interview-lesson/interview-1/25.28_Redis的并发竞争问题是什么？如何解决这个问题？了解Redis事务的CAS方案吗？.md)\n      - [26.29_生产环境中的Redis是怎么部署的？](2.JavaNotes/(8).interview-lesson/interview-1/26.29_生产环境中的Redis是怎么部署的？.md)\n      - [27.31_体验一下面试官可能会对分布式系统发起的一串连环炮](2.JavaNotes/(8).interview-lesson/interview-1/27.31_体验一下面试官可能会对分布式系统发起的一串连环炮.md)\n      - [28.32_为什么要进行系统拆分？如何进行系统拆分？拆分后不用dubbo可以吗？](2.JavaNotes/(8).interview-lesson/interview-1/28.32_为什么要进行系统拆分？如何进行系统拆分？拆分后不用dubbo可以吗？.md)\n      - [29.33_dubbo的工作原理是啥？注册中心挂了可以继续通信吗？说说一次rpc请求的流程？](2.JavaNotes/(8).interview-lesson/interview-1/29.33_dubbo的工作原理是啥？注册中心挂了可以继续通信吗？说说一次rpc请求的流程？.md)\n      - [30.34_Dubbo支持哪些序列化协议？说一下Hessian的数据结构？PB知道吗？为什么PB的效率是最高的？](2.JavaNotes/(8).interview-lesson/interview-1/30.34_Dubbo支持哪些序列化协议？说一下Hessian的数据结构？PB知道吗？为什么PB的效率是最高的？.md)\n      - [31.35_dubbo支持哪些负载均衡、高可用以及动态代理的策略？](2.JavaNotes/(8).interview-lesson/interview-1/31.35_dubbo支持哪些负载均衡、高可用以及动态代理的策略？.md)\n      - [32.36_Dubbo的spi思想是什么？](2.JavaNotes/(8).interview-lesson/interview-1/32.36_Dubbo的spi思想是什么？.md)\n      - [33.37_如何基于Dubbo进行服务治理、服务降级、失败重试以及超时重试？](2.JavaNotes/(8).interview-lesson/interview-1/33.37_如何基于Dubbo进行服务治理、服务降级、失败重试以及超时重试？.md)\n      - [34.38_分布式系统中接口的幂等性该如何保证？比如不能重复扣款？](2.JavaNotes/(8).interview-lesson/interview-1/34.38_分布式系统中接口的幂等性该如何保证？比如不能重复扣款？.md)\n      - [35.39_分布式服务接口请求的顺序性如何保证？](2.JavaNotes/(8).interview-lesson/interview-1/35.39_分布式服务接口请求的顺序性如何保证？.md)\n      - [36.40_如何自己设计一个类似Dubbo的RPC框架？](2.JavaNotes/(8).interview-lesson/interview-1/36.40_如何自己设计一个类似Dubbo的RPC框架？.md)\n      - [37.41_说说zookeeper一般都有哪些使用场景？](2.JavaNotes/(8).interview-lesson/interview-1/37.41_说说zookeeper一般都有哪些使用场景？.md)\n      - [38.42_使用Redis、Zookeeper如何设计分布式锁？以上两种分布式锁的实现方式哪种效率比较高？](2.JavaNotes/(8).interview-lesson/interview-1/38.42_使用Redis、Zookeeper如何设计分布式锁？以上两种分布式锁的实现方式哪种效率比较高？.md)\n      - [39.43_集群部署时的分布式Session如何实现？](2.JavaNotes/(8).interview-lesson/interview-1/39.43_集群部署时的分布式Session如何实现？.md)\n      - [40.44_分布式事务了解吗？你们如何解决分布式事务问题的？TCC如果出现网络连不通怎么办？XA的一致性如何保证？](2.JavaNotes/(8).interview-lesson/interview-1/40.44_分布式事务了解吗？你们如何解决分布式事务问题的？TCC如果出现网络连不通怎么办？XA的一致性如何保证？.md)\n      - [41.45_如何设计一个高并发系统？](2.JavaNotes/(8).interview-lesson/interview-1/41.45_如何设计一个高并发系统？.md)\n      - [42.46_分库分表连环炮](2.JavaNotes/(8).interview-lesson/interview-1/42.46_分库分表连环炮.md)\n      - [43.47_为什么要分库分表（设计高并发系统的时候，数据库层面该如何设计）你们具体是如何对数据库如何进行垂直拆分或水平拆分的？](2.JavaNotes/(8).interview-lesson/interview-1/43.47_为什么要分库分表（设计高并发系统的时候，数据库层面该如何设计）你们具体是如何对数据库如何进行垂直拆分或水平拆分的？.md)\n      - [44.48_现在有一个未分库分表的系统，未来要分库分表，如何设计才可以让系统从未分库分表动态切换到分库分表上？](2.JavaNotes/(8).interview-lesson/interview-1/44.48_现在有一个未分库分表的系统，未来要分库分表，如何设计才可以让系统从未分库分表动态切换到分库分表上？.md)\n      - [45.49_如何设计可以动态扩容缩容的分库分表方案？](2.JavaNotes/(8).interview-lesson/interview-1/45.49_如何设计可以动态扩容缩容的分库分表方案？.md)\n      - [46.50_分库分表之后，id主键如何处理？](2.JavaNotes/(8).interview-lesson/interview-1/46.50_分库分表之后，id主键如何处理？.md)\n      - [47.51_如何实现MySQL的读写分离？MySQL主从复制原理是啥？如何解决MySQL主从同步的延时问题？](2.JavaNotes/(8).interview-lesson/interview-1/47.51_如何实现MySQL的读写分离？MySQL主从复制原理是啥？如何解决MySQL主从同步的延时问题？.md)\n      - [48_52.Hystrix介绍](2.JavaNotes/(8).interview-lesson/interview-1/48_52.Hystrix介绍.md)\n    - [interview-2](2.JavaNotes/(8).interview-lesson/interview-2/)\n      - [1.06_你们公司用的Dubbo？那你再额外说说SpringCloud的核心架构原理？](2.JavaNotes/(8).interview-lesson/interview-2/1.06_你们公司用的Dubbo？那你再额外说说SpringCloud的核心架构原理？.md)\n      - [2.09_看过Dubbo源码吗？说说Dubbo的底层架构原理？](2.JavaNotes/(8).interview-lesson/interview-2/2.09_看过Dubbo源码吗？说说Dubbo的底层架构原理？.md)\n      - [3.14_平时除了使用外，有研究过SpringCloud的底层架构原理么？](2.JavaNotes/(8).interview-lesson/interview-2/3.14_平时除了使用外，有研究过SpringCloud的底层架构原理么？.md)\n      - [4.17_面试官：你们的服务注册中心进行过选型调研吗？对比一下各种服务注册中心！](2.JavaNotes/(8).interview-lesson/interview-2/4.17_面试官：你们的服务注册中心进行过选型调研吗？对比一下各种服务注册中心！.md)\n    - [interview-3](2.JavaNotes/(8).interview-lesson/interview-3/)\n      - [1.HashMap底层的数据结构](2.JavaNotes/(8).interview-lesson/interview-3/1.HashMap底层的数据结构.md)\n      - [2.并发编程的问题](2.JavaNotes/(8).interview-lesson/interview-3/2.并发编程的问题.md)\n      - [3.线程池工作原理](2.JavaNotes/(8).interview-lesson/interview-3/3.线程池工作原理.md)\n      - [4.Java内存模型的理解](2.JavaNotes/(8).interview-lesson/interview-3/4.Java内存模型的理解.md)\n      - [5.Spring-IOCAOP机制](2.JavaNotes/(8).interview-lesson/interview-3/5.Spring-IOCAOP机制.md)\n      - [6.JVM](2.JavaNotes/(8).interview-lesson/interview-3/6.JVM.md)\n      - [7.MySQL](2.JavaNotes/(8).interview-lesson/interview-3/7.MySQL.md)\n      - [8.Java-IO](2.JavaNotes/(8).interview-lesson/interview-3/8.Java-IO.md)\n      - [9.interview-intro](2.JavaNotes/(8).interview-lesson/interview-3/9.interview-intro.md)\n      - [10.面试问题](2.JavaNotes/(8).interview-lesson/interview-3/10.面试问题.md)\n  - [(9).gupao-lesson](2.JavaNotes/(9).gupao-lesson/)\n    - [1.架构师内功心法-设计模式](2.JavaNotes/(9).gupao-lesson/1.架构师内功心法-设计模式/)\n      - [1.单例模式](2.JavaNotes/(9).gupao-lesson/1.架构师内功心法-设计模式/1.单例模式.md)\n      - [2.工厂模式](2.JavaNotes/(9).gupao-lesson/1.架构师内功心法-设计模式/2.工厂模式.md)\n      - [3.代理模式](2.JavaNotes/(9).gupao-lesson/1.架构师内功心法-设计模式/3.代理模式.md)\n      - [4.策略模式和委派模式](2.JavaNotes/(9).gupao-lesson/1.架构师内功心法-设计模式/4.策略模式和委派模式.md)\n      - [5.模版方法与适配器方法](2.JavaNotes/(9).gupao-lesson/1.架构师内功心法-设计模式/5.模版方法与适配器方法.md)\n      - [6.装饰者模式和观察者模式](2.JavaNotes/(9).gupao-lesson/1.架构师内功心法-设计模式/6.装饰者模式和观察者模式.md)\n    - [2.架构师的审美观](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/)\n      - [1.Spring源码](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/)\n        - [01.Spring框架的前世今生以及源码构建](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/01.Spring框架的前世今生以及源码构建.md)\n        - [02.用300行代码手写提炼Spring的核心原理](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/02.用300行代码手写提炼Spring的核心原理.md)\n        - [03.一步一步手绘Spring-IOC运行时序图](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/03.一步一步手绘Spring-IOC运行时序图.md)\n        - [04.一步一步手绘Spring-DI运行时序图](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/04.一步一步手绘Spring-DI运行时序图.md)\n        - [05.一步一步手绘Spring-AOP运行时序图](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/05.一步一步手绘Spring-AOP运行时序图.md)\n        - [06.一步一步手绘SpringMVC运行时序图](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/06.一步一步手绘SpringMVC运行时序图.md)\n        - [07.用30个类高仿真提炼纯手写Spring框架V2.0之IOC与DI](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/07.用30个类高仿真提炼纯手写Spring框架V2.0之IOC与DI.md)\n        - [08.Spring事务传播原理及数据库事务操作原理](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/08.Spring事务传播原理及数据库事务操作原理.md)\n        - [09.基于SpringJDBC手写定制自己的ORM框架](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/09.基于SpringJDBC手写定制自己的ORM框架.md)\n        - [10.Spring5新特性简述及经典的高频面试题分析](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/1.Spring源码/10.Spring5新特性简述及经典的高频面试题分析.md)\n      - [2.mybatis源码](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/2.mybatis源码/)\n        - [1.MyBatis应用分析与最佳实践](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/2.mybatis源码/1.MyBatis应用分析与最佳实践.md)\n        - [2.MyBatis体系结构与工作原理](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/2.mybatis源码/2.MyBatis体系结构与工作原理.md)\n        - [3.MyBatis插件原理及Spring集成](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/2.mybatis源码/3.MyBatis插件原理及Spring集成.md)\n        - [4.手写自己的MyBatis框架](2.JavaNotes/(9).gupao-lesson/2.架构师的审美观/2.mybatis源码/4.手写自己的MyBatis框架.md)\n    - [3.架构师必备技术栈](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/)\n      - [01.分布式并发编程](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/01.分布式并发编程/)\n        - [1.初步认识多线程的发展及使用](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/01.分布式并发编程/1.初步认识多线程的发展及使用.md)\n        - [2.多线程的原理分析(1)](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/01.分布式并发编程/2.多线程的原理分析(1).md)\n        - [3.多线程的原理分析(2)](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/01.分布式并发编程/3.多线程的原理分析(2).md)\n        - [4.AQS的底层原理分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/01.分布式并发编程/4.AQS的底层原理分析.md)\n        - [5.常见并发工具的基本原理分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/01.分布式并发编程/5.常见并发工具的基本原理分析.md)\n        - [6.ConcurrentHashMap的原理分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/01.分布式并发编程/6.ConcurrentHashMap的原理分析.md)\n        - [7.阻塞队列、原子操作的原理分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/01.分布式并发编程/7.阻塞队列、原子操作的原理分析.md)\n        - [8.ThreadLocal底层原理分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/01.分布式并发编程/8.ThreadLocal底层原理分析.md)\n      - [02.漫谈分布式架构](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/02.漫谈分布式架构/)\n        - [1.分布式架构的发展及演进](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/02.漫谈分布式架构/1.分布式架构的发展及演进.md)\n        - [2.远程通信协议原理](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/02.漫谈分布式架构/2.远程通信协议原理.md)\n      - [03.分布式架构基础](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/03.分布式架构基础/)\n        - [1.HTTP及HTTPS协议原理](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/03.分布式架构基础/1.HTTP及HTTPS协议原理.md)\n        - [2.序列化和反序列化原理分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/03.分布式架构基础/2.序列化和反序列化原理分析.md)\n        - [3.RPC通信的原理以及手写实现](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/03.分布式架构基础/3.RPC通信的原理以及手写实现.md)\n      - [04.架构师必备技术栈](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/04.架构师必备技术栈/)\n        - [1.Java-IO演进之路](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/04.架构师必备技术栈/1.Java-IO演进之路.md)\n        - [2.Netty与NIO之前世今生](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/04.架构师必备技术栈/2.Netty与NIO之前世今生.md)\n        - [3.Netty初体验之重构RPC框架](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/04.架构师必备技术栈/3.Netty初体验之重构RPC框架.md)\n        - [4.Netty核心之Netty高性能之道](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/04.架构师必备技术栈/4.Netty核心之Netty高性能之道.md)\n        - [5.Netty核心之大动脉Pipeline](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/04.架构师必备技术栈/5.Netty核心之大动脉Pipeline.md)\n        - [6.Netty核心之大名鼎鼎的EventLoop](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/04.架构师必备技术栈/6.Netty核心之大名鼎鼎的EventLoop.md)\n        - [7.Netty实战之手写消息推送系统](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/04.架构师必备技术栈/7.Netty实战之手写消息推送系统.md)\n        - [8.Netty实战之性能调优与设计模式](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/04.架构师必备技术栈/8.Netty实战之性能调优与设计模式.md)\n      - [05.分布式服务治理](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/)\n        - [01.深入浅出微服务体系](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/01.深入浅出微服务体系.md)\n        - [02.深入浅出SpringBoot的核心原理(上)](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/02.深入浅出SpringBoot的核心原理(上).md)\n        - [03.深入浅出SpringBoot的核心原理(下)](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/03.深入浅出SpringBoot的核心原理(下).md)\n        - [04.微服务架构下的服务注册中心设计及实战](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/04.微服务架构下的服务注册中心设计及实战.md)\n        - [05.分布式协调服务Zookeeper应用实战](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/05.分布式协调服务Zookeeper应用实战.md)\n        - [06.深入分析Zookeeper核心原理](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/06.深入分析Zookeeper核心原理.md)\n        - [07.深入分析Zookeeper的Leader选举原理](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/07.深入分析Zookeeper的Leader选举原理.md)\n        - [08.事务请求以及Watcher源码分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/08.事务请求以及Watcher源码分析.md)\n        - [09.微服务治理之ApacheDubbo的基本认识](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/09.微服务治理之ApacheDubbo的基本认识.md)\n        - [10.ApacheDubbo的核心原理及新功能分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/10.ApacheDubbo的核心原理及新功能分析.md)\n        - [11.ApacheDubbo进阶系列之内核剖析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/11.ApacheDubbo进阶系列之内核剖析.md)\n        - [12.ApacheDubbo进阶之服务发布源码分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/12.ApacheDubbo进阶之服务发布源码分析.md)\n        - [13.ApacheDubbo进阶之服务注册源码分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/13.ApacheDubbo进阶之服务注册源码分析.md)\n        - [14.ApacheDubbo进阶之容错以及集群源码分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/14.ApacheDubbo进阶之容错以及集群源码分析.md)\n        - [15.AlibabaNacos原理分析及实战](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/15.AlibabaNacos原理分析及实战.md)\n        - [16.AlibabaSentinel限流熔断的应用及原理(上)](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/16.AlibabaSentinel限流熔断的应用及原理(上).md)\n        - [17.AlibabaSentinel限流熔断的应用及原理(下)](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/17.AlibabaSentinel限流熔断的应用及原理(下).md)\n        - [18.SpringBoot+Dubbo实现电商项目实战](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/18.SpringBoot+Dubbo实现电商项目实战.md)\n        - [19.kafka的基本应用及场景分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/19.kafka的基本应用及场景分析.md)\n        - [20.kafka的实现原理分析(上)](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/20.kafka的实现原理分析(上).md)\n        - [21.kafka的实现原理分析(下)](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/21.kafka的实现原理分析(下).md)\n        - [21.kafka的应用实战](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/21.kafka的应用实战.md)\n        - [23.RabbitMQ工作模型与Java编程](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/23.RabbitMQ工作模型与Java编程.md)\n        - [24.RabbitMQ可靠性投递与实践经验](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/24.RabbitMQ可靠性投递与实践经验.md)\n        - [25.RocketMQ基本分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/25.RocketMQ基本分析.md)\n        - [26.RocketMQ原理分析](2.JavaNotes/(9).gupao-lesson/3.架构师必备技术栈/05.分布式服务治理/26.RocketMQ原理分析.md)\n    - [4.分布式与微服务](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/)\n      - [02.Redis](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/02.Redis/)\n        - [1.Redis基础](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/02.Redis/1.Redis基础.md)\n        - [2.Redis原理](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/02.Redis/2.Redis原理.md)\n        - [3.Redis分布式](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/02.Redis/3.Redis分布式.md)\n      - [03.分库分表](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/03.分库分表/)\n        - [1.分库分表之Mycat应用](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/03.分库分表/1.分库分表之Mycat应用.md)\n        - [2.分库分表之Mycat进阶](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/03.分库分表/2.分库分表之Mycat进阶.md)\n        - [3.分库分表之Sharding-JDBC](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/03.分库分表/3.分库分表之Sharding-JDBC.md)\n      - [04.任务调度](2.JavaNotes/(9).gupao-lesson/4.分布式与微服务/04.任务调度/)\n    - [5.架构师必备工具箱](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/)\n      - [1.Docker](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/1.Docker/)\n        - [01.Docker序幕揭开篇](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/1.Docker/01.Docker序幕揭开篇.md)\n        - [02.Docker灵魂探讨篇](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/1.Docker/02.Docker灵魂探讨篇.md)\n        - [03.Docker精髓剖析篇](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/1.Docker/03.Docker精髓剖析篇.md)\n        - [04.Docker项目实战篇](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/1.Docker/04.Docker项目实战篇.md)\n        - [05.Docker深度提升篇](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/1.Docker/05.Docker深度提升篇.md)\n        - [labs[命令-笔记pdf伴侣]](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/1.Docker/labs[命令-笔记pdf伴侣].md)\n      - [2.Kubernetes](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/2.Kubernetes/)\n        - [1.K8S](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/2.Kubernetes/1.K8S.md)\n        - [2.工欲善其事必先利其器课程笔记](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/2.Kubernetes/2.工欲善其事必先利其器课程笔记.md)\n        - [3.《关于K8S不得不说的事儿》笔记](2.JavaNotes/(9).gupao-lesson/5.架构师必备工具箱/2.Kubernetes/3.《关于K8S不得不说的事儿》笔记.md)\n    - [6.性能优化](2.JavaNotes/(9).gupao-lesson/6.性能优化/)\n      - [1.JVM](2.JavaNotes/(9).gupao-lesson/6.性能优化/1.JVM/)\n        - [1.JVM前奏篇](2.JavaNotes/(9).gupao-lesson/6.性能优化/1.JVM/1.JVM前奏篇.md)\n        - [2.JVM进行篇](2.JavaNotes/(9).gupao-lesson/6.性能优化/1.JVM/2.JVM进行篇.md)\n        - [3.JVM升华篇](2.JavaNotes/(9).gupao-lesson/6.性能优化/1.JVM/3.JVM升华篇.md)\n        - [4.JVM实战篇](2.JavaNotes/(9).gupao-lesson/6.性能优化/1.JVM/4.JVM实战篇.md)\n        - [5.JVM终结篇](2.JavaNotes/(9).gupao-lesson/6.性能优化/1.JVM/5.JVM终结篇.md)\n      - [2.Tomcat](2.JavaNotes/(9).gupao-lesson/6.性能优化/2.Tomcat/)\n        - [1.Tomcat基础升华篇](2.JavaNotes/(9).gupao-lesson/6.性能优化/2.Tomcat/1.Tomcat基础升华篇.md)\n        - [2.Tomcat性能优化篇](2.JavaNotes/(9).gupao-lesson/6.性能优化/2.Tomcat/2.Tomcat性能优化篇.md)\n      - [3.Mysql](2.JavaNotes/(9).gupao-lesson/6.性能优化/3.Mysql/)\n        - [1.MySQL架构与SQL执行流程](2.JavaNotes/(9).gupao-lesson/6.性能优化/3.Mysql/1.MySQL架构与SQL执行流程.md)\n        - [2.MySQL索引原理与使用原则](2.JavaNotes/(9).gupao-lesson/6.性能优化/3.Mysql/2.MySQL索引原理与使用原则.md)\n        - [03.MySQL事务与锁详解](2.JavaNotes/(9).gupao-lesson/6.性能优化/3.Mysql/03.MySQL事务与锁详解.md)\n        - [04.MySQL性能优化总结](2.JavaNotes/(9).gupao-lesson/6.性能优化/3.Mysql/04.MySQL性能优化总结.md)\n- [3.Middleware](3.Middleware/)\n  - [redis](3.Middleware/redis/)\n    - [1.redis基础](3.Middleware/redis/1.redis基础.md)\n    - [2.redis-knowledge](3.Middleware/redis/2.redis-knowledge.md)\n- [4.Frontend](4.Frontend/)\n  - [MiniApp](4.Frontend/MiniApp/)\n  - [React](4.Frontend/React/)\n  - [Vue](4.Frontend/Vue/)\n- [5.Maintenance](5.Maintenance/)\n  - [docker](5.Maintenance/docker/)\n  - [k8s](5.Maintenance/k8s/)\n  - [linux](5.Maintenance/linux/)\n    - [linux常用命令](5.Maintenance/linux/linux常用命令.md)\n- [6.SQL](6.SQL/)\n  - [mysql](6.SQL/mysql/)\n    - [1.mysql-一条sql语句如何执行的](6.SQL/mysql/1.mysql-一条sql语句如何执行的.md)\n    - [2.事务隔离：为什么你改了我还看不见？](6.SQL/mysql/2.事务隔离：为什么你改了我还看不见？.md)\n    - [3.数据库索引](6.SQL/mysql/3.数据库索引.md)\n- [7.DesignPattern](7.DesignPattern/)\n- [8.Micro-Service](8.Micro-Service/)\n- [9.JavaTools](9.JavaTools/)\n  - [JITWatch](9.JavaTools/JITWatch.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoremind%2Fjavanote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoremind%2Fjavanote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoremind%2Fjavanote/lists"}