1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Merge pull request #376 from jasperchen912/master

Update Java集合框架常见面试题.md
This commit is contained in:
SnailClimb 2019-07-06 20:37:03 +08:00 committed by GitHub
commit 43f233e353
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -83,11 +83,11 @@ public interface RandomAccess {
### 补充内容:双向链表和双向循环链表
**双向链表:** 包含两个指针一个prev指向前一个节点一个next指向后一个节点。
**双向链表:** 包含两个指针一个prev指向前一个节点一个next指向后一个节点。
![双向链表](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/双向链表.png)
**双向循环链表:** 最后一个节点的 next 指向head而 head 的prev指向最后一个节点构成一个环。
**双向循环链表:** 最后一个节点的 next 指向head而 head 的prev指向最后一个节点构成一个环。
![双向循环链表](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/双向循环链表.png)
@ -95,7 +95,7 @@ public interface RandomAccess {
`Vector`类的所有方法都是同步的。可以由两个线程安全地访问一个Vector对象、但是一个线程访问Vector的话代码要在同步操作上耗费大量的时间。
`Arraylist`不是同步的,所以在不需要保证线程安全时建议使用Arraylist。
`Arraylist`不是同步的所以在不需要保证线程安全时建议使用Arraylist。
## 说一说 ArrayList 的扩容机制吧
@ -253,7 +253,7 @@ ConcurrentHashMap 和 Hashtable 的区别主要体现在实现线程安全的方
图片来源:<http://www.cnblogs.com/chengxiao/p/6842045.html>
**HashTable:**
**HashTable:**
![HashTable全表锁](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/HashTable全表锁.png)
@ -451,6 +451,6 @@ Output
**《Java面试突击》:** 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本[公众号](#公众号)后台回复 **"Java面试突击"** 即可免费领取!
**Java工程师必备学习资源:** 一些Java工程师常用学习资源公众号后台回复关键字 **“1”** 即可免费无套路获取。
**Java工程师必备学习资源:** 一些Java工程师常用学习资源公众号后台回复关键字 **“1”** 即可免费无套路获取。
![我的公众号](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/167598cd2e17b8ec.png)