Skip to content

Commit ccfba54

Browse files
committed
[reafractor]图片路径更改
1 parent bedc594 commit ccfba54

16 files changed

+14
-12
lines changed
45.3 KB
Loading
37.7 KB
Loading

docs/database/Redis/redis-all.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ Memcached 是分布式缓存最开始兴起的那会,比较常用的。后来
136136

137137
作为暖男一号,我给大家画了一个草图。
138138

139-
![正常缓存处理流程](https://static01.imgkr.com/temp/bc0cfbc9911148eeb0542d84a049d9f2.png)
139+
![正常缓存处理流程](images/redis/缓存的处理流程.png)
140140

141141
简单来说就是:
142142

@@ -694,7 +694,7 @@ public Object getObjectInclNullById(Integer id) {
694694

695695
加入布隆过滤器之后的缓存处理流程图如下。
696696

697-
![image](https://static01.imgkr.com/temp/e384cec584314b019de6e3a39ee56425.png)
697+
![image](images/redis/加入布隆过滤器后的缓存处理流程.png)
698698

699699
但是,需要注意的是布隆过滤器可能会存在误判的情况。总结来说就是: **布隆过滤器说某个元素存在,小概率会误判。布隆过滤器说某个元素不在,那么这个元素一定不在。**
700700

docs/java/Java基础知识.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
13
点击关注[公众号](#公众号)及时获取笔主最新更新文章,并可免费领取本文档配套的《Java 面试突击》以及 Java 工程师必备学习资源。
24

35
<!-- TOC -->
@@ -1177,12 +1179,12 @@ String s = input.readLine();
11771179
11781180
#### 3.2.1. Java 异常类层次结构图
11791181
1180-
![](https://imgkr.cn-bj.ufileos.com/199703ce-a1b6-4968-9eb0-161a8217507e.png)
1182+
![](images/Java异常类层次结构图.png)
11811183
11821184
11831185
<p style="font-size:13px;text-align:right">图片来自:https://simplesnippets.tech/exception-handling-in-java-part-1/</p>
11841186
1185-
![](https://imgkr.cn-bj.ufileos.com/3c45529f-8915-448b-816a-360f8cb73fc7.png)
1187+
![](images/Java异常类层次结构图2.png)
11861188
11871189
11881190
<p style="font-size:13px;text-align:right">图片来自:https://chercher.tech/java-programming/exceptions-java</p>

docs/java/collection/Java集合框架常见面试题.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -549,13 +549,13 @@ static int hash(int h) {
549549

550550
所谓 **“拉链法”** 就是:将链表和数组相结合。也就是说创建一个链表数组,数组中每一格就是一个链表。若遇到哈希冲突,则将冲突的值加到链表中即可。
551551

552-
![jdk1.8之前的内部结构-HashMap](https://static01.imgkr.com/temp/77c95eb733284dbd8ce4e85c9cb6b042.png)
552+
![jdk1.8之前的内部结构-HashMap](images/jdk1.8之前的内部结构-HashMap.png)
553553

554554
#### 1.4.5.2. JDK1.8 之后
555555

556556
相比于之前的版本, JDK1.8 之后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)(将链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树)时,将链表转化为红黑树,以减少搜索时间。
557557

558-
![jdk1.8之后的内部结构-HashMap](https://static01.imgkr.com/temp/19f97c2ad53b4ff2948ee4b4792ebe1a.png)
558+
![jdk1.8之后的内部结构-HashMap](images/jdk1.8之后的内部结构-HashMap.png)
559559

560560
> TreeMap、TreeSet 以及 JDK1.8 之后的 HashMap 底层都用到了红黑树。红黑树就是为了解决二叉查找树的缺陷,因为二叉查找树在某些情况下会退化成一个线性结构。
561561
@@ -600,7 +600,7 @@ ConcurrentHashMap 和 Hashtable 的区别主要体现在实现线程安全的方
600600

601601
**JDK1.8 的 ConcurrentHashMap:**
602602

603-
![JDK1.8 的 ConcurrentHashMap](https://static01.imgkr.com/temp/26fca75ccc874c8fbbeb4fbcd4dec4aa.png)
603+
![Java8 ConcurrentHashMap 存储结构(图片来自 javadoop)](./images/java8_concurrenthashmap.png)
604604

605605
JDK1.8 的 `ConcurrentHashMap` 不在是 **Segment 数组 + HashEntry 数组 + 链表**,而是 **Node 数组 + 链表 / 红黑树**。不过,Node 只能用于链表的情况,红黑树的情况需要使用 **`TreeNode`**。当冲突链表达到一定长度时,链表会转换成红黑树。
606606

@@ -704,7 +704,7 @@ final void checkForComodification() {
704704

705705
我们再来趁热打铁,看一个阿里巴巴手册相关的规定:
706706

707-
![](https://imgkr.cn-bj.ufileos.com/ad28e3ba-e419-4724-869c-73879e604da1.png)
707+
![](images/ad28e3ba-e419-4724-869c-73879e604da1.png)
708708

709709
有了前面讲的基础,我们应该知道:使用 `Iterator` 提供的 `remove` 方法,可以修改到 `expectedModCount` 的值。所以,才不会再抛出`ConcurrentModificationException` 异常。
710710

79.4 KB
Loading
196 KB
Loading
79.4 KB
Loading
184 KB
Loading
278 KB
Loading

0 commit comments

Comments
 (0)