Skip to content

Commit 1389436

Browse files
author
WangTianyi
committed
update
1 parent 2b58ac0 commit 1389436

File tree

1 file changed

+42
-2
lines changed

1 file changed

+42
-2
lines changed

README.md

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,33 @@ Java 8的ConcurrentHashMap同样是通过Key的哈希值与数组长度取模确
151151
### 悲观锁乐观锁、如何写对应的SQL
152152
[https://www.jianshu.com/p/f5ff017db62a](https://www.jianshu.com/p/f5ff017db62a)
153153

154+
### 索引
155+
#### 原理
156+
我们拿出一本新华字典,它的目录实际上就是一种索引:非聚集索引。我们可以通过目录迅速定位我们要查的字。而字典的内容部分一般都是按照拼音排序的,这实际上又是一种索引:聚集索引。
157+
158+
主要使用[B+树](https://www.jianshu.com/p/3a1377883742)来构建索引
159+
160+
#### 分析
161+
好处:
162+
163+
1. 快速取数据;
164+
2. 保证数据记录的唯一性;
165+
3. 实现表与表之间的参照完整性;
166+
167+
优点:
168+
169+
1. 大大加快数据的检索速度;
170+
2. 创建唯一性索引,保证数据库表中每一行数据的唯一性;
171+
172+
173+
缺点:
174+
175+
1. 索引需要占物理空间。
176+
2. 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
177+
178+
#### 使用场景
179+
如果某个字段,或一组字段会出现在一个会被频繁调用的 WHERE 子句中,那么它们应该是被索引的,这样会更快的得到结果。为了避免意外的发生,需要恰当地使用唯一索引,并且我个人不推荐使用全文索引,尤其对于汉字来说,全文索引的开销太大了,得不偿失。
180+
154181
# 设计模式
155182
## 模式分类举例
156183
### 创建型
@@ -214,6 +241,19 @@ cglib工具:利用asm开源包,对代理对象类的class文件加载进来
214241

215242
## 存储查询大量的数据
216243

244+
![](https://github.com/xbox1994/2018-Java-Interview/raw/master/images/j6.jpg)
245+
246+
### 实现思路
247+
248+
* 文件被切块存储在多台服务器上
249+
* HDFS提供一个统一的平台与客户端交互
250+
* 每个文件都可以保存多个副本
251+
* HDFS上的文件和实际存储位置对应关系靠NAMENODE管理
252+
253+
### 优点
254+
1. 每个数据的副本数量固定,直接增加一台机器就可以实现线性扩展
255+
2. 有副本让存储可靠性高,可以处理的吞吐量增大
256+
217257
## 控制拿数据库连接池资源
218258
问题:数据库连接池就那么几个,但是有很多来拿怎么办?加个超时限制怎么加?
219259

@@ -226,11 +266,11 @@ cglib工具:利用asm开源包,对代理对象类的class文件加载进来
226266

227267
词典文件
228268

229-
![](http://img.my.csdn.net/uploads/201209/10/1347269599_3828.jpg)
269+
![](https://github.com/xbox1994/2018-Java-Interview/raw/master/images/j7.gif)
230270

231271
倒排索引文件
232272

233-
![](http://hi.csdn.net/attachment/201202/13/0_1329141580k34Q.gif)
273+
![](https://github.com/xbox1994/2018-Java-Interview/raw/master/images/j8.gif)
234274

235275
### Lucene存储原理
236276

0 commit comments

Comments
 (0)