Skip to content

Commit 7c4c371

Browse files
committed
add doctoc
1 parent 2af4c87 commit 7c4c371

File tree

17 files changed

+473
-47
lines changed

17 files changed

+473
-47
lines changed

notes/algorithms/Big-Data.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,21 @@
1-
## 海量数据处理总结
1+
# 海量数据处理总结
2+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
3+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
4+
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
5+
6+
- [1、分而治之/hash映射 + HashMap统计 + 堆/快速/归并排序](#1%E5%88%86%E8%80%8C%E6%B2%BB%E4%B9%8Bhash%E6%98%A0%E5%B0%84--hashmap%E7%BB%9F%E8%AE%A1--%E5%A0%86%E5%BF%AB%E9%80%9F%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F)
7+
- [2、多层划分](#2%E5%A4%9A%E5%B1%82%E5%88%92%E5%88%86)
8+
- [3、Bloom filter/Bitmap](#3bloom-filterbitmap)
9+
- [4、Trie树/数据库/倒排索引](#4trie%E6%A0%91%E6%95%B0%E6%8D%AE%E5%BA%93%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95)
10+
- [Trie树](#trie%E6%A0%91)
11+
- [数据库索引](#%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B4%A2%E5%BC%95)
12+
- [倒排索引](#%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95)
13+
- [5、外排序](#5%E5%A4%96%E6%8E%92%E5%BA%8F)
14+
- [6、 分布式处理之Hadoop/MapReduce](#6-%E5%88%86%E5%B8%83%E5%BC%8F%E5%A4%84%E7%90%86%E4%B9%8Bhadoopmapreduce)
15+
16+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
17+
18+
219

320
海量数据处理六种方法:
421
1. 分而治之/hash映射 + HashMap统计 + 堆/快速/归并排序

notes/algorithms/DataStructures-Algorithms.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3+
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
4+
5+
- [动态规划的思想](#%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%9A%84%E6%80%9D%E6%83%B3)
6+
- [背包问题总结](#%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E6%80%BB%E7%BB%93)
7+
- [0-1 背包问题](#0-1-%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98)
8+
- [优化空间复杂度](#%E4%BC%98%E5%8C%96%E7%A9%BA%E9%97%B4%E5%A4%8D%E6%9D%82%E5%BA%A6)
9+
- [完全背包问题](#%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98)
10+
- [多重背包问题](#%E5%A4%9A%E9%87%8D%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98)
11+
- [树的深度优先遍历、广度优先遍历](#%E6%A0%91%E7%9A%84%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88%E9%81%8D%E5%8E%86%E5%B9%BF%E5%BA%A6%E4%BC%98%E5%85%88%E9%81%8D%E5%8E%86)
12+
- [一、深度优先遍历](#%E4%B8%80%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88%E9%81%8D%E5%8E%86)
13+
- [二、广度优先遍历(层序遍历)](#%E4%BA%8C%E5%B9%BF%E5%BA%A6%E4%BC%98%E5%85%88%E9%81%8D%E5%8E%86%E5%B1%82%E5%BA%8F%E9%81%8D%E5%8E%86)
14+
- [快速排序的思想](#%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F%E7%9A%84%E6%80%9D%E6%83%B3)
15+
- [快速排序算法是不稳定的算法](#%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95%E6%98%AF%E4%B8%8D%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%AE%97%E6%B3%95)
16+
- [堆排序的思想](#%E5%A0%86%E6%8E%92%E5%BA%8F%E7%9A%84%E6%80%9D%E6%83%B3)
17+
- [字典树](#%E5%AD%97%E5%85%B8%E6%A0%91)
18+
- [单向链表、双向链表、双向循环链表](#%E5%8D%95%E5%90%91%E9%93%BE%E8%A1%A8%E5%8F%8C%E5%90%91%E9%93%BE%E8%A1%A8%E5%8F%8C%E5%90%91%E5%BE%AA%E7%8E%AF%E9%93%BE%E8%A1%A8)
19+
20+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
21+
122
[TOC]
223

324

notes/database/DataBaseDesign.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
13
## MySQL数据库开发规范
24

35
1. 所有的数据库对象名称必须使用小写字母并用下划线分割(MySQL大小敏感,见名知意,最好不超过32字符)

notes/database/MySQL.md

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,48 @@
1+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3+
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
4+
5+
- [为什么用自增列作为主键](#%E4%B8%BA%E4%BB%80%E4%B9%88%E7%94%A8%E8%87%AA%E5%A2%9E%E5%88%97%E4%BD%9C%E4%B8%BA%E4%B8%BB%E9%94%AE)
6+
- [为什么使用数据索引能提高效率](#%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B4%A2%E5%BC%95%E8%83%BD%E6%8F%90%E9%AB%98%E6%95%88%E7%8E%87)
7+
- [B+树索引和哈希索引的区别](#b%E6%A0%91%E7%B4%A2%E5%BC%95%E5%92%8C%E5%93%88%E5%B8%8C%E7%B4%A2%E5%BC%95%E7%9A%84%E5%8C%BA%E5%88%AB)
8+
- [B树和B+树的区别](#b%E6%A0%91%E5%92%8Cb%E6%A0%91%E7%9A%84%E5%8C%BA%E5%88%AB)
9+
- [为什么说B+比B树更适合实际应用中操作系统的文件索引和数据库索引](#%E4%B8%BA%E4%BB%80%E4%B9%88%E8%AF%B4b%E6%AF%94b%E6%A0%91%E6%9B%B4%E9%80%82%E5%90%88%E5%AE%9E%E9%99%85%E5%BA%94%E7%94%A8%E4%B8%AD%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%96%87%E4%BB%B6%E7%B4%A2%E5%BC%95%E5%92%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B4%A2%E5%BC%95)
10+
- [mysql联合索引](#mysql%E8%81%94%E5%90%88%E7%B4%A2%E5%BC%95)
11+
- [什么情况下应不建或少建索引](#%E4%BB%80%E4%B9%88%E6%83%85%E5%86%B5%E4%B8%8B%E5%BA%94%E4%B8%8D%E5%BB%BA%E6%88%96%E5%B0%91%E5%BB%BA%E7%B4%A2%E5%BC%95)
12+
- [MySQL分区](#mysql%E5%88%86%E5%8C%BA)
13+
- [什么是分区?](#%E4%BB%80%E4%B9%88%E6%98%AF%E5%88%86%E5%8C%BA)
14+
- [分区与分表的区别](#%E5%88%86%E5%8C%BA%E4%B8%8E%E5%88%86%E8%A1%A8%E7%9A%84%E5%8C%BA%E5%88%AB)
15+
- [使用场景](#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF)
16+
- [限制](#%E9%99%90%E5%88%B6)
17+
- [如何判断当前MySQL是否支持分区?](#%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E5%BD%93%E5%89%8Dmysql%E6%98%AF%E5%90%A6%E6%94%AF%E6%8C%81%E5%88%86%E5%8C%BA)
18+
- [MySQL支持的分区类型有哪些?](#mysql%E6%94%AF%E6%8C%81%E7%9A%84%E5%88%86%E5%8C%BA%E7%B1%BB%E5%9E%8B%E6%9C%89%E5%93%AA%E4%BA%9B)
19+
- [四种隔离级别](#%E5%9B%9B%E7%A7%8D%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB)
20+
- [对于脏读,不可重复读,幻读的理解](#%E5%AF%B9%E4%BA%8E%E8%84%8F%E8%AF%BB%E4%B8%8D%E5%8F%AF%E9%87%8D%E5%A4%8D%E8%AF%BB%E5%B9%BB%E8%AF%BB%E7%9A%84%E7%90%86%E8%A7%A3)
21+
- [脏读](#%E8%84%8F%E8%AF%BB)
22+
- [不可重复读](#%E4%B8%8D%E5%8F%AF%E9%87%8D%E5%A4%8D%E8%AF%BB)
23+
- [幻读](#%E5%B9%BB%E8%AF%BB)
24+
- [不可重复读和幻读区别](#%E4%B8%8D%E5%8F%AF%E9%87%8D%E5%A4%8D%E8%AF%BB%E5%92%8C%E5%B9%BB%E8%AF%BB%E5%8C%BA%E5%88%AB)
25+
- [关于MVVC](#%E5%85%B3%E4%BA%8Emvvc)
26+
- [行级锁定](#%E8%A1%8C%E7%BA%A7%E9%94%81%E5%AE%9A)
27+
- [优点](#%E4%BC%98%E7%82%B9)
28+
- [缺点](#%E7%BC%BA%E7%82%B9)
29+
- [什么是存储过程](#%E4%BB%80%E4%B9%88%E6%98%AF%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B)
30+
- [MySQL优化](#mysql%E4%BC%98%E5%8C%96)
31+
- [key和index的区别](#key%E5%92%8Cindex%E7%9A%84%E5%8C%BA%E5%88%AB)
32+
- [Mysql存储引擎](#mysql%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E)
33+
- [MyISAM和InnoDB的区别](#myisam%E5%92%8Cinnodb%E7%9A%84%E5%8C%BA%E5%88%AB)
34+
- [如何选择](#%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9)
35+
- [mysql主从同步以及原理](#mysql%E4%B8%BB%E4%BB%8E%E5%90%8C%E6%AD%A5%E4%BB%A5%E5%8F%8A%E5%8E%9F%E7%90%86)
36+
- [使用主从同步的好处](#%E4%BD%BF%E7%94%A8%E4%B8%BB%E4%BB%8E%E5%90%8C%E6%AD%A5%E7%9A%84%E5%A5%BD%E5%A4%84)
37+
- [主从复制原理](#%E4%B8%BB%E4%BB%8E%E5%A4%8D%E5%88%B6%E5%8E%9F%E7%90%86)
38+
- [MySQL事务原理](#mysql%E4%BA%8B%E5%8A%A1%E5%8E%9F%E7%90%86)
39+
- [undo 日志文件](#undo-%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6)
40+
- [redo/undo日志文件](#redoundo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6)
41+
- [Join的实现原理](#join%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86)
42+
- [优化](#%E4%BC%98%E5%8C%96)
43+
44+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
145

2-
[TOC]
346

447
## 为什么用自增列作为主键
548
1. 如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引、如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(ROWID随着行记录的写入而主键递增,这个ROWID不像ORACLE的ROWID那样可引用,是隐含的)。
@@ -211,9 +254,9 @@ Prepared Statements很像存储过程,是一种运行在后台的SQL语句集
211254

212255

213256

214-
## Mysql 中 MyISAM 和 InnoDB 的区别有哪些?
257+
## Mysql存储引擎
215258

216-
### 区别:
259+
### MyISAM和InnoDB的区别
217260

218261
1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;
219262

@@ -227,7 +270,7 @@ Prepared Statements很像存储过程,是一种运行在后台的SQL语句集
227270

228271

229272

230-
### 如何选择
273+
### 如何选择
231274

232275
1. 是否要支持事务,如果要请选择innodb,如果不需要可以考虑MyISAM;
233276

@@ -243,13 +286,13 @@ Prepared Statements很像存储过程,是一种运行在后台的SQL语句集
243286

244287
主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器。通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表。
245288

246-
### 使用主从同步的好处
289+
### 使用主从同步的好处
247290

248291
1. 通过增加从服务器来提高数据库的性能,在主服务器上执行写入和更新,在从服务器上向外提供读功能,可以动态地调整从服务器的数量,从而调整整个数据库的性能。
249292
2. 提高数据安全-因为数据已复制到从服务器,从服务器可以终止复制进程,所以,可以在从服务器上备份而不破坏主服务器相应数据
250293
3. 在主服务器上生成实时数据,而在从服务器上分析这些数据,从而提高主服务器的性能
251294

252-
### 主从复制原理
295+
### 主从复制原理
253296
>1. 主库需要一个线程叫做I/O线程
254297
>2. 从库需要两个线程完成,一个叫做I/O线程,一个叫做sql线程
255298
@@ -283,7 +326,7 @@ H 事务提交
283326

284327
但是单纯使用undo保证原子性和持久性需要在事务提交之前将数据写到磁盘,浪费大量I/O。
285328

286-
### redo/undo 日志文件
329+
### redo/undo日志文件
287330
引入redo日志记录数据修改后的值,可以避免数据在事务提交之前必须写入到磁盘的需求,减少I/O。
288331
```
289332
A 事务开始

notes/database/Redis.md

Lines changed: 36 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,40 @@
1+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3+
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
4+
5+
- [Redis介绍](#redis%E4%BB%8B%E7%BB%8D)
6+
- [Redis特点](#redis%E7%89%B9%E7%82%B9)
7+
- [Redis和Memcached区别](#redis%E5%92%8Cmemcached%E5%8C%BA%E5%88%AB)
8+
- [Redis内部数据结构](#redis%E5%86%85%E9%83%A8%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84)
9+
- [字符串](#%E5%AD%97%E7%AC%A6%E4%B8%B2)
10+
- [字典](#%E5%AD%97%E5%85%B8)
11+
- [压缩列表](#%E5%8E%8B%E7%BC%A9%E5%88%97%E8%A1%A8)
12+
- [快速列表](#%E5%BF%AB%E9%80%9F%E5%88%97%E8%A1%A8)
13+
- [跳跃列表](#%E8%B7%B3%E8%B7%83%E5%88%97%E8%A1%A8)
14+
- [Redis应用](#redis%E5%BA%94%E7%94%A8)
15+
- [分布式锁](#%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81)
16+
- [延时队列](#%E5%BB%B6%E6%97%B6%E9%98%9F%E5%88%97)
17+
- [位图](#%E4%BD%8D%E5%9B%BE)
18+
- [HyperLogLog](#hyperloglog)
19+
- [布隆过滤器](#%E5%B8%83%E9%9A%86%E8%BF%87%E6%BB%A4%E5%99%A8)
20+
- [Scan](#scan)
21+
- [GeoHash](#geohash)
22+
- [简单限流](#%E7%AE%80%E5%8D%95%E9%99%90%E6%B5%81)
23+
- [漏斗限流](#%E6%BC%8F%E6%96%97%E9%99%90%E6%B5%81)
24+
- [Redis单进程单线程方式](#redis%E5%8D%95%E8%BF%9B%E7%A8%8B%E5%8D%95%E7%BA%BF%E7%A8%8B%E6%96%B9%E5%BC%8F)
25+
- [单进程单线程好处](#%E5%8D%95%E8%BF%9B%E7%A8%8B%E5%8D%95%E7%BA%BF%E7%A8%8B%E5%A5%BD%E5%A4%84)
26+
- [单进程单线程弊端](#%E5%8D%95%E8%BF%9B%E7%A8%8B%E5%8D%95%E7%BA%BF%E7%A8%8B%E5%BC%8A%E7%AB%AF)
27+
- [其他一些优秀的开源软件采用的模型](#%E5%85%B6%E4%BB%96%E4%B8%80%E4%BA%9B%E4%BC%98%E7%A7%80%E7%9A%84%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6%E9%87%87%E7%94%A8%E7%9A%84%E6%A8%A1%E5%9E%8B)
28+
- [多路I/O复用模型](#%E5%A4%9A%E8%B7%AFio%E5%A4%8D%E7%94%A8%E6%A8%A1%E5%9E%8B)
29+
- [Redis快的主要原因](#redis%E5%BF%AB%E7%9A%84%E4%B8%BB%E8%A6%81%E5%8E%9F%E5%9B%A0)
30+
- [Redis主从复制](#redis%E4%B8%BB%E4%BB%8E%E5%A4%8D%E5%88%B6)
31+
- [Redis两种持久化方式优缺点](#redis%E4%B8%A4%E7%A7%8D%E6%8C%81%E4%B9%85%E5%8C%96%E6%96%B9%E5%BC%8F%E4%BC%98%E7%BC%BA%E7%82%B9)
32+
- [Redis常见的性能问题都有哪些?如何解决?](#redis%E5%B8%B8%E8%A7%81%E7%9A%84%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98%E9%83%BD%E6%9C%89%E5%93%AA%E4%BA%9B%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3)
33+
- [Redis提供6种数据淘汰策略](#redis%E6%8F%90%E4%BE%9B6%E7%A7%8D%E6%95%B0%E6%8D%AE%E6%B7%98%E6%B1%B0%E7%AD%96%E7%95%A5)
34+
35+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
36+
137

2-
- [Redis介绍](#Redis介绍)
3-
- [Redis特点](#Redis特点)
4-
- [Redis和Memcached区别](#Redis和Memcached区别)
5-
- [Redis内部数据结构](#Redis内部数据结构)
6-
- [字符串](#字符串)
7-
- [字典](#字典)
8-
- [压缩列表](#压缩列表)
9-
- [快速列表](#快速列表)
10-
- [跳跃列表](#跳跃列表)
11-
- [Redis应用](#Redis应用)
12-
- [分布式锁](#分布式锁)
13-
- [延时队列](#延时队列)
14-
- [位图](#位图)
15-
- [HyperLogLog](#HyperLogLogq)
16-
- [布隆过滤器](#布隆过滤器)
17-
- [Scan](#Scan)
18-
- [GeoHash](#GeoHash)
19-
- [简单限流](#简单限流)
20-
- [漏斗限流](#漏斗限流)
21-
- [使用Redis的好处](#使用Redis的好处)
22-
- [Redis单进程单线程方式](#Redis单进程单线程方式)
23-
- [单进程单线程好处](#单进程单线程好处)
24-
- [单进程单线程弊端](#单进程单线程弊端)
25-
- [其他一些优秀的开源软件采用的模型](#其他一些优秀的开源软件采用的模型)
26-
- [多路I/O复用模型](#多路I/O复用模型)
27-
- [Redis快的主要原因](#Redis快的主要原因)
28-
- [Redis主从复制](#Redis主从复制)
29-
- [Redis两种持久化方式优缺点](#Redis两种持久化方式优缺点)
30-
- [Redis常见的性能问题都有哪些?如何解决?](#Redis常见的性能问题都有哪些?如何解决?)
31-
- [Redis提供6种数据淘汰策略](#Redis提供6种数据淘汰策略)
3238

3339
## Redis介绍
3440
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

notes/design/Design-Patterns.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3+
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
4+
5+
- [23种设计模式彩图](#23%E7%A7%8D%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E5%BD%A9%E5%9B%BE)
6+
- [动态代理和静态代理有什么区别](#%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86%E5%92%8C%E9%9D%99%E6%80%81%E4%BB%A3%E7%90%86%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB)
7+
- [静态代理](#%E9%9D%99%E6%80%81%E4%BB%A3%E7%90%86)
8+
- [动态代理](#%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86)
9+
- [静态代理与动态代理的区别主要](#%E9%9D%99%E6%80%81%E4%BB%A3%E7%90%86%E4%B8%8E%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86%E7%9A%84%E5%8C%BA%E5%88%AB%E4%B8%BB%E8%A6%81)
10+
- [JDK中的动态代理和CGLIB](#jdk%E4%B8%AD%E7%9A%84%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86%E5%92%8Ccglib)
11+
- [实现动态代理的方案有下列几种](#%E5%AE%9E%E7%8E%B0%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86%E7%9A%84%E6%96%B9%E6%A1%88%E6%9C%89%E4%B8%8B%E5%88%97%E5%87%A0%E7%A7%8D)
12+
13+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
14+
15+
116
设计模式主要分三个类型:创建型、结构型和行为型。
217

318
**创建型**
@@ -83,7 +98,7 @@
8398
4. CGLIB缺点:对于final方法,无法进行代理
8499

85100

86-
## 实现动态代理的方案有下列几种
101+
## 实现动态代理的方案有下列几种
87102
- jdk 动态代理
88103
- cglib 动态代理
89104
- javassist 动态代理

0 commit comments

Comments
 (0)