├── .nojekyll
├── LICENSE
├── README.md
├── _coverpage.md
├── _sidebar.md
├── drawio
└── 实战问题
│ ├── 布隆过滤器初级讲解.drawio
│ └── 领取礼品结构以及分布式锁.drawio
├── index.html
├── java基础
├── Java反射使用说透彻一点.md
├── Lambda
│ └── Lambda在List中的简单用法.md
├── instanceof用法详解.md
├── isAssignableFrom的用法详解.md
├── java native关键字.md
├── java接口与抽象类异同分析.md
├── java集合基础
│ ├── 1.俯瞰java集合分类.md
│ ├── 10.LinkedList源码解析.md
│ ├── 11.ArrayList,Vector,LinkedList的区别是什么?.md
│ ├── 2.iterator接口.md
│ ├── 3.iterable接口.md
│ ├── 4.iterator和iterable异同详解.md
│ ├── 5.Collections源码解析.md
│ ├── 6.1Collections和Collection的区别.md
│ ├── 6.Collection接口详解.md
│ ├── 7.List接口详解.md
│ ├── 8.ArrayList源码分析.md
│ └── 9.Vector源码解析.md
├── serialVersionUID.md
├── transient关键字作用.md
└── 函数内交换数值会不会变?.md
├── 分布式
├── 分布式系统唯一id怎么生成.md
├── 雪花算法对System.currentTimeMillis()的优化.md
└── 雪花算法的细枝末节讲解.md
├── 工具
├── 使用PicGo存储markdown图片(阿里云或者github).md
├── 如何使用docsify搭建github文档.md
└── 平时画图的软件.md
├── 并发与多线程
└── 线程池
│ ├── 如何设计一个线程池.md
│ ├── 线程池的那些事1.md
│ └── 线程池的那些事2.md
├── 数据库
└── JDBC
│ ├── 1.jdbc教程入门之增删改查.md
│ ├── 2.JDBC工作原理以及简单封装.md
│ ├── 3.SPI技术以及数据库连接中的使用.md
│ ├── 4.SPI底层原理解析.md
│ └── 5.jdbc预编译与拼接sql对比.md
├── 架构设计
├── 布隆过滤器的三种实践.md
├── 布隆过滤器详解.md
├── 并发中分布式锁setnx解析.md
├── 海量ip中查找出现次数最多的一个.md
├── 设计一个短链接生成系统.md
└── 设计领取礼品的架构以及并发问题解决.md
├── 缓存
└── 缓存穿透,缓存击穿,缓存雪崩的区别以及解决方案.md
└── 设计模式
├── 设计模式【1.1】-- 饿汉式单例为什么是线程安全的.md
├── 设计模式【1.2】--如何破坏单例模式.md
├── 设计模式【1.3】--枚举的单例模式真的是安全的么?.md
├── 设计模式【1】--设计模式之单例.md
├── 设计模式【2.1】--工厂方法模式.md
├── 设计模式【2.2】--抽象工厂模式.md
├── 设计模式【2】--简单工厂模式.md
├── 设计模式【3.2】--JDK动态代理到底有多香之源码分析.md
├── 设计模式【3.3】--CGLib源码分析.md
├── 设计模式【3】--代理模式.md
├── 设计模式【4】--建造者模式.md
├── 设计模式【5】--原型模式.md
├── 设计模式【6.1】--初探适配器模式.md
├── 设计模式【6.2】--再谈适配器模式.md
├── 设计模式【7】--桥接模式.md
├── 设计模式【8】--装饰器模式.md
└── 设计模式【9】--外观模式.md
/.nojekyll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Damaer/Coding/bc3b8d36b248c99b34de974025f122a51083596f/.nojekyll
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 wenhaoxu
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Coding
2 |
3 | 目前持续更新中...
4 |
5 | ### 在线阅读地址
6 |
7 | GitHub Pages 完整刷题笔记阅读:[进入](https://damaer.github.io/Coding/#/)
8 |
9 | * Java基础
10 | * 基础语法
11 | * [函数内交换数值会不会变?](/java基础/函数内交换数值会不会变?.md)
12 | * [java接口与抽象类异同分析](/java基础/java接口与抽象类异同分析.md)
13 | * [serialVersionUID的用法详解](/java基础/serialVersionUID.md)
14 | * 关键字
15 | * [transient 关键字作用](/java基础/transient关键字作用.md)
16 | * [instanceof 用法详解](/java基础/instanceof用法详解.md)
17 | * [java native关键字干什么用的?](/java基础/native关键字.md)
18 | * 特殊方法源码解读
19 | * [isAssignableFrom()的用法详解](/java基础/isAssignableFrom的用法详解.md)
20 | * Lambda表达式
21 | * [Lambda表达式简单用法](/java基础/Lambda/Lambda在List中的简单用法.md)
22 | * 反射
23 | * [Java反射使用说透彻一点](/java基础/Java反射使用说透彻一点.md)
24 | * 集合
25 | * [1.俯瞰java集合分类](/java基础/java集合基础/1.俯瞰java集合分类.md)
26 | * [2.iterator接口](/java基础/java集合基础/2.iterator接口.md)
27 | * [3.iterable接口](/java基础/java集合基础/3.iterable接口.md)
28 | * [4.iterator和iterable异同详解](/java基础/java集合基础/4.iterator和iterable异同详解.md)
29 | * [5.Collections源码解析](/java基础/java集合基础/5.Collections源码解析.md)
30 | * [6.Collection接口详解](/java基础/java集合基础/6.Collection接口详解.md)
31 | * [6.1Collections和Collection的区别](/java基础/java集合基础/6.1Collections和Collection的区别.md)
32 | * [7.List接口详解](/java基础/java集合基础/7.List接口详解.md)
33 | * [8.ArrayList源码分析](/java基础/java集合基础/8.ArrayList源码分析.md)
34 | * [9.Vector源码解析](/java基础/java集合基础/9.Vector源码解析.md)
35 | * [10.LinkedList源码解析](/java基础/java集合基础/10.LinkedList源码解析.md)
36 | * [11.ArrayList,Vector,LinkedList的区别是什么?](/java基础/java集合基础/11.ArrayList,Vector,LinkedList的区别是什么?.md)
37 |
38 |
39 | * 设计模式
40 | * 单例模式
41 | * [单例介绍](/设计模式/设计模式【1】--设计模式之单例.md)
42 | * [饿汉式单例为什么是线程安全的](/设计模式/设计模式【1.1】--饿汉式单例为什么是线程安全的.md)
43 | * [如何破坏单例模式](/设计模式/设计模式【1.2】--如何破坏单例模式.md)
44 | * [推荐枚举单例的理由](/设计模式/设计模式【1.3】--枚举的单例模式真的是安全的么?.md)
45 | * 工厂模式
46 | * [简单工厂模式](/设计模式/设计模式【2】--简单工厂模式.md)
47 | * [工厂方法模式](/设计模式/设计模式【2.1】--工厂方法模.md)
48 | * [抽象工厂模式](/设计模式/设计模式【2.2】--抽象工厂模式.md)
49 | * 代理模式
50 | * [代理模式](/设计模式/设计模式【3】--代理模式.md)
51 | * [JDK代理源码分析](/设计模式/设计模式【3.2】--JDK动态代理到底有多香之源码分析.md)
52 | * [CGLib代理源码分析](/设计模式/设计模式【3.3】--CGLib源码分析.md)
53 | * 建造者模式
54 | * [建造者模式](/设计模式/建造者模式.md)
55 | * 原型模式
56 | * [原型模式](/设计模式/原型模式.md)
57 | * 适配器模式
58 | * [适配器模式](/设计模式/设计模式【6.1】--初探适配器模式.md)
59 | * [适配器模式](/设计模式/设计模式【6.2】--再谈适配器模式.md)
60 | * 桥接模式
61 | * [桥接模式](/设计模式/设计模式【7】--桥接模式.md)
62 | * 装饰器模式
63 | * [装饰器模式](/设计模式/设计模式【8】--装饰器模式.md)
64 | * 外观模式
65 | * [外观模式](/设计模式/设计模式【9】--外观模式.md)
66 |
67 | * 并发编程
68 | * 线程池
69 | * [线程池详解](/并发与多线程/线程池.md)
70 |
71 | * 数据库
72 | * JDBC
73 | * [1.jdbc教程入门之增删改查](/数据库/JDBC/1.jdbc教程入门之增删改查.md)
74 | * [2.JDBC工作原理以及简单封装](/数据库/JDBC/2.JDBC工作原理以及简单封装.md)
75 | * [3.SPI技术以及数据库连接中的使用](/数据库/JDBC/3.SPI技术以及数据库连接中的使用.md)
76 | * [4.SPI底层原理解析](/数据库/JDBC/4.SPI底层原理解析.md)
77 | * [5.jdbc预编译与拼接sql对比](/数据库/JDBC/5.jdbc预编译与拼接sql对比.md)
78 |
79 | * 缓存
80 | * [缓存穿透,缓存击穿,缓存雪崩的区别以及解决方案](/缓存/缓存穿透,缓存击穿,缓存雪崩的区别以及解决方案.md)
81 |
82 | * 系统设计
83 | * 布隆过滤器
84 | * [布隆过滤器详解](/架构设计/布隆过滤器详解.md)
85 | * [布隆过滤器的三种实践](/架构设计/布隆过滤器的三种实践.md)
86 | * 分布式锁
87 | * [设计领取礼品的架构以及并发问题解决](/架构设计/设计领取礼品的架构以及并发问题解决.md)
88 | * [并发中分布式锁setnx解析](/架构设计/并发中分布式锁setnx解析.md)
89 | * [海量ip中查找出现次数最多的一个](/架构设计/海量ip中查找出现次数最多的一个.md)
90 | * [设计一个短链接生成系统](/架构设计/设计一个短链接生成系统.md)
91 | * 分布式
92 | * 分布式唯一ID
93 | * [分布式系统唯一id怎么生成](/架构设计/分布式系统唯一id怎么生成.md)
94 | * [雪花算法的细枝末节讲解](/架构设计/雪花算法的细枝末节讲解.md)
95 | * [雪花算法对System.currentTimeMillis()的优化](/架构设计/雪花算法对System.currentTimeMillis()的优化.md)
96 |
97 | * 工具(工欲善其事必先利其器)
98 | * 学习写作工具
99 | * [平时画图的软件](/工具/平时画图的软件.md)
100 | * [如何使用docsify搭建github文档](/工具/如何使用docsify搭建github文档.md)
101 | * [使用PicGo存储markdown图片(阿里云或者github)](/工具/使用PicGo存储markdown图片(阿里云或者github).md)
102 |
103 | ### 为什么要做这个知识仓库?
104 |
105 | 技术,是技术人生活中重要的一部分。因为喜欢那种踏实的感觉,喜欢一步一个脚印,知道了更多东西的感觉,所以把学到东西当成了一种乐趣。
106 |
107 | 而这个仓库,是本人平日学习,积累,或者疑惑之后突然找到答案,或者总结对比,积攒的知识点,只要还在技术行业,就会一直更新。说不上是面试知识总结,更说不上是教别人什么,最重要的是知我所知,知我所不知。
108 |
109 | 种一棵树,最好的时间是十年前,其次,是现在。
110 |
111 | 道之所在,虽千万人吾往矣。纵使缓慢,驰而不息。
112 |
113 | ### 项目维护的大致方向
114 |
115 | - 基础知识
116 | - 设计模式
117 | - redis
118 | - jdk源码
119 | - spring
120 | - mybatis
121 | - springmvc
122 | - 分布式
123 | - mq
124 | - 微服务
125 |
126 | 仓库Github的访问比较慢,电信如果屏蔽,自行把DNS服务器指定到 **114.114.114.114**。后期可能同步到Gitee上,解决国内访问慢的问题。
127 |
128 | ### 开源协议
129 |
130 | 本着互联网的开放精神,本项目采用开放的[MIT]协议进行许可。
131 |
132 | ### 关于作者
133 | 秦怀,公众号【**秦怀杂货店**】作者,技术之路不在一时,山高水长,纵使缓慢,驰而不息。个人写作方向:Java源码解析,JDBC,Mybatis,Spring,redis,分布式,剑指Offer,LeetCode等,认真写好每一篇文章,不喜欢标题党,不喜欢花里胡哨,大多写系列文章,不能保证我写的都完全正确,但是我保证所写的均经过实践或者查找资料。遗漏或者错误之处,还望指正。
134 |
135 | [2020年我写了什么?](http://aphysia.cn/archives/2020)
136 |
137 | [开源编程笔记](https://damaer.github.io/Coding/#/)
138 |
139 | 
140 | 平日上班工作,只能使用晚上以及周末时间学习写作,关注我,我们一起成长吧~
141 |
142 | ## 个人微信
143 | 如果有什么问题可以及时联系我,纠正~
144 |
145 |
146 |
147 |
--------------------------------------------------------------------------------
/_coverpage.md:
--------------------------------------------------------------------------------
1 |
2 | # Coding 0.0.1
3 | > 编程知识积累
4 |
5 | - `思考 · 实践 · 对比 · 总结`
6 |
7 |   
8 |
9 |
10 |
11 | 👁️本页访问次数:
12 |
13 |
14 | | 🧑总访客数:
15 |
16 |
17 | [GitHub](https://github.com/Damaer/Coding)
18 | [Get Started](#Coding)
--------------------------------------------------------------------------------
/_sidebar.md:
--------------------------------------------------------------------------------
1 | * Java基础
2 | * 基础语法
3 | * [函数内交换数值会不会变?](/java基础/函数内交换数值会不会变?.md)
4 | * [java接口与抽象类异同分析](/java基础/java接口与抽象类异同分析.md)
5 | * [serialVersionUID的用法详解](/java基础/serialVersionUID.md)
6 | * 关键字
7 | * [transient 关键字作用](/java基础/transient关键字作用.md)
8 | * [instanceof 用法详解](/java基础/instanceof用法详解.md)
9 | * [java native关键字干什么用的?](/java基础/native关键字.md)
10 | * 特殊方法源码解读
11 | * [isAssignableFrom()的用法详解](/java基础/isAssignableFrom的用法详解.md)
12 | * Lambda表达式
13 | * [Lambda表达式简单用法](/java基础/Lambda/Lambda在List中的简单用法.md)
14 | * 反射
15 | * [Java反射使用说透彻一点](/java基础/Java反射使用说透彻一点.md)
16 | * 集合
17 | * [1.俯瞰java集合分类](/java基础/java集合基础/1.俯瞰java集合分类.md)
18 | * [2.iterator接口](/java基础/java集合基础/2.iterator接口.md)
19 | * [3.iterable接口](/java基础/java集合基础/3.iterable接口.md)
20 | * [4.iterator和iterable异同详解](/java基础/java集合基础/4.iterator和iterable异同详解.md)
21 | * [5.Collections源码解析](/java基础/java集合基础/5.Collections源码解析.md)
22 | * [6.Collection接口详解](/java基础/java集合基础/6.Collection接口详解.md)
23 | * [6.1Collections和Collection的区别](/java基础/java集合基础/6.1Collections和Collection的区别.md)
24 | * [7.List接口详解](/java基础/java集合基础/7.List接口详解.md)
25 | * [8.ArrayList源码分析](/java基础/java集合基础/8.ArrayList源码分析.md)
26 | * [9.Vector源码解析](/java基础/java集合基础/9.Vector源码解析.md)
27 | * [10.LinkedList源码解析](/java基础/java集合基础/10.LinkedList源码解析.md)
28 | * [11.ArrayList,Vector,LinkedList的区别是什么?](/java基础/java集合基础/11.ArrayList,Vector,LinkedList的区别是什么?.md)
29 |
30 |
31 | * 设计模式
32 | * 单例模式
33 | * [单例介绍](/设计模式/设计模式【1】--设计模式之单例.md)
34 | * [饿汉式单例为什么是线程安全的](/设计模式/设计模式【1.1】--饿汉式单例为什么是线程安全的.md)
35 | * [如何破坏单例模式](/设计模式/设计模式【1.2】--如何破坏单例模式.md)
36 | * [推荐枚举单例的理由](/设计模式/设计模式【1.3】--枚举的单例模式真的是安全的么?.md)
37 | * 工厂模式
38 | * [简单工厂模式](/设计模式/设计模式【2】--简单工厂模式.md)
39 | * [工厂方法模式](/设计模式/设计模式【2.1】--工厂方法模.md)
40 | * [抽象工厂模式](/设计模式/设计模式【2.2】--抽象工厂模式.md)
41 | * 代理模式
42 | * [代理模式](/设计模式/设计模式【3】--代理模式.md)
43 | * [JDK代理源码分析](/设计模式/设计模式【3.2】--JDK动态代理到底有多香之源码分析.md)
44 | * [CGLib代理源码分析](/设计模式/设计模式【3.3】--CGLib源码分析.md)
45 | * 建造者模式
46 | * [建造者模式](/设计模式/建造者模式.md)
47 | * 原型模式
48 | * [原型模式](/设计模式/原型模式.md)
49 | * 适配器模式
50 | * [适配器模式](/设计模式/设计模式【6.1】--初探适配器模式.md)
51 | * [适配器模式](/设计模式/设计模式【6.2】--再谈适配器模式.md)
52 | * 桥接模式
53 | * [桥接模式](/设计模式/设计模式【7】--桥接模式.md)
54 | * 装饰器模式
55 | * [装饰器模式](/设计模式/设计模式【8】--装饰器模式.md)
56 | * 外观模式
57 | * [外观模式](/设计模式/设计模式【9】--外观模式.md)
58 |
59 | * 并发编程
60 | * 线程池
61 | * [线程池详解](/并发与多线程/线程池.md)
62 |
63 | * 数据库
64 | * JDBC
65 | * [1.jdbc教程入门之增删改查](/数据库/JDBC/1.jdbc教程入门之增删改查.md)
66 | * [2.JDBC工作原理以及简单封装](/数据库/JDBC/2.JDBC工作原理以及简单封装.md)
67 | * [3.SPI技术以及数据库连接中的使用](/数据库/JDBC/3.SPI技术以及数据库连接中的使用.md)
68 | * [4.SPI底层原理解析](/数据库/JDBC/4.SPI底层原理解析.md)
69 | * [5.jdbc预编译与拼接sql对比](/数据库/JDBC/5.jdbc预编译与拼接sql对比.md)
70 |
71 | * 缓存
72 | * [缓存穿透,缓存击穿,缓存雪崩的区别以及解决方案](/缓存/缓存穿透,缓存击穿,缓存雪崩的区别以及解决方案.md)
73 |
74 | * 系统设计
75 | * 布隆过滤器
76 | * [布隆过滤器详解](/架构设计/布隆过滤器详解.md)
77 | * [布隆过滤器的三种实践](/架构设计/布隆过滤器的三种实践.md)
78 | * 分布式锁
79 | * [设计领取礼品的架构以及并发问题解决](/架构设计/设计领取礼品的架构以及并发问题解决.md)
80 | * [并发中分布式锁setnx解析](/架构设计/并发中分布式锁setnx解析.md)
81 | * [海量ip中查找出现次数最多的一个](/架构设计/海量ip中查找出现次数最多的一个.md)
82 | * [设计一个短链接生成系统](/架构设计/设计一个短链接生成系统.md)
83 | * 分布式
84 | * 分布式唯一ID
85 | * [分布式系统唯一id怎么生成](/架构设计/分布式系统唯一id怎么生成.md)
86 | * [雪花算法的细枝末节讲解](/架构设计/雪花算法的细枝末节讲解.md)
87 | * [雪花算法对System.currentTimeMillis()的优化](/架构设计/雪花算法对System.currentTimeMillis()的优化.md)
88 |
89 | * 工具(工欲善其事必先利其器)
90 | * 学习写作工具
91 | * [平时画图的软件](/工具/平时画图的软件.md)
92 | * [如何使用docsify搭建github文档](/工具/如何使用docsify搭建github文档.md)
93 | * [使用PicGo存储markdown图片(阿里云或者github)](/工具/使用PicGo存储markdown图片(阿里云或者github).md)
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/drawio/实战问题/布隆过滤器初级讲解.drawio:
--------------------------------------------------------------------------------
1 |