Day17并发与集合
集合的规约
首先看集合的总览图
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i0oflfO9-1637038253586)(images/qVRDB4Fi6t8OAc_mvyDwZGJohyvcIUs2TdJjqHdtw1M.png)]](https://i-blog.csdnimg.cn/blog_migrate/4f2f502b7eb90bda0c405f315a98bd62.png)
关于数据结构和时间复杂度
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jusgMIyI-1637038253591)(images/fW__XUkfBrC2ozTz-cLjxz-gDaKbbPTJN8rzw66VlRM.png)]](https://i-blog.csdnimg.cn/blog_migrate/f010df23a25ea53dd29ef9684f7125c3.png)
从最好到最坏常用算法复杂度为
- 常数级O(1)
- 对数级O(logN)
- 线性级O(N)
- 线性对数级O(NLogN)
- 平方级o(N²)
- 指数级O(2N)
- 阶乘级O(N!)
HashMap的基本概念
哈希类集合的三个基本存储概念
| 名词 | 说明 |
|---|---|
| table | 存储所有节点数据的数组 |
| slot | 哈希槽,即table[i]这个位置 |
| buckeet | 哈希桶,table[i]上所有元素形成的表或树的集合 |
HashMap的主干是一个Entry数组,Entry是HashMap的基本组成单元,每一个Entry包含Node内部类
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VeBLB108-1637038253593)(images/BIt2CN8p6gu1_4ZjCadCqZrq8DZQbKSy8uYdo6iYiNo.png)]](https://i-blog.csdnimg.cn/blog_migrate/1506b5c8ebcbf497850d68dd6461ca83.png)
并发处理
概念梳理:
- 并发:某个时间段内,多任务交替处理的能力,
- 并行:同时处理多任务的能力
线程安全:
多个线程轮流占用cpu的计算资源,可能会出现某个线程尚未执行完就不得不中断的情况,容易导致线程的不安全。
四个方面考量高并发场景下线程安全
- 数据单线程内可见
- 只读对象
- 线程安全类
- 同步与锁机制
java常用锁实现
- juc包中的锁类
- 同步代码块
这篇博客探讨了并发处理的概念,区分了并发与并行的区别,并着重讲解了Java中HashMap的数据结构和时间复杂度。HashMap的核心是Entry数组和内部类Node,其在并发环境下可能存在线程安全问题。文章提到了线程安全的四个考量因素,并介绍了Java中常用的锁机制如同步代码块。
375

被折叠的 条评论
为什么被折叠?



