From 94253b03880881b47cad62a8e1be5c92477b3388 Mon Sep 17 00:00:00 2001 From: houbingzhi123 Date: Tue, 31 Oct 2023 16:10:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9HashMap=E5=8D=9A=E5=AE=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/posts/Java/{3.md => hashmap-kuorong.md} | 5 ++--- src/posts/git.md | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) rename src/posts/Java/{3.md => hashmap-kuorong.md} (85%) diff --git a/src/posts/Java/3.md b/src/posts/Java/hashmap-kuorong.md similarity index 85% rename from src/posts/Java/3.md rename to src/posts/Java/hashmap-kuorong.md index c9d0246..a7a3351 100644 --- a/src/posts/Java/3.md +++ b/src/posts/Java/hashmap-kuorong.md @@ -1,11 +1,10 @@ --- -date: 2023-10-14 +date: 2023-10-31 category: - Java基础 - HashMap tag: - 重要 - - 面试 --- # HashMap的扩容是怎么实现的 @@ -16,4 +15,4 @@ HashMap的底层是用数组实现的,当需要存储元素的时候,不断p ## 扩容机制 -数组是无法自动进行扩容的,HashMap的``resize()``方法会声明一个更大容量的数组,将之前旧的小容量数组中的元素复制过去,并且重新计算hash值,这个计算hash值的过程是比较耗时的。 \ No newline at end of file +数组是无法自动进行扩容的,HashMap的``resize()``方法会声明一个更大容量的数组,将之前旧的小容量数组中的元素复制过去,并且重新计算hash值,计算hash值是为了将元素分布得更均匀,减少hash碰撞,这个计算hash值的过程是比较耗时的。 \ No newline at end of file diff --git a/src/posts/git.md b/src/posts/git.md index a74ce07..36f2a78 100644 --- a/src/posts/git.md +++ b/src/posts/git.md @@ -10,7 +10,7 @@ category: 如果我们在feature分支开发一段时间后,想拉取master分支的最新代码合并到feature上,可以用git pull --rebase。feature是待变基分支,master是基分支。 -![](https://img-blog.csdnimg.cn/12b959efcc454da5a15b9fdec493d61b.png?) +![](https://img-blog.csdnimg.cn/12b959efcc454da5a15b9fdec493d61b.png) 比如说feature是master节点B处拉出来的一条新分支,在feature分支开发一段时间后(此时是A->B->C->D),要拉取master最新的代码合到feature上(比如master分支上在B节点后新开发了M)。这时候需要把feature上的提交暂存下来,然后删掉feature的提交记录,找到master的最新记录,再把暂存的feature提交接上去。