Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions file/二、集合框架.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,11 @@
- 删除引起的不平衡:

最坏情况下,平衡二叉树需要维护从被删node到root这条路径上所有node的平衡性,因此需要旋转的量级是O(logN)此,而红黑树最多只需3次旋转,只需要O(1)的复杂度。

**5、JDK1.8中HashMap的插入源码分析**
**6、HashMap为什么要树化?**

- 本质上这是个安全问题。因为在元素放置过程中,如果一个对象哈希冲突,都被放置到同一个桶里,则会形成一个链表,我们知道链表查询是线性的,会严重影响存取的性能。而在现实世界,构造哈希冲突的数据并不是非常复杂的事情,恶意代码就可以利用这些数据大量与服务器端交互,导致服务器端CPU大量占用,这就构成了哈希碰撞拒绝服务攻击,国内一线互联网公司就发生过类似攻击事件。

**7、JDK1.8中HashMap的插入源码分析**

```java
/**
Expand Down Expand Up @@ -493,4 +496,4 @@

## 6、总结

最主要的核心还是 **==Lambda== 表达式**和 **==Stream API==**
最主要的核心还是 **==Lambda== 表达式**和 **==Stream API==**