首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
白日梦工厂厂长
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
14
文章 14
沸点 0
赞
14
返回
|
搜索文章
最新
热门
详解Java 容器(第⑤篇)——容器源码分析 - 并发容器
如果没有特别说明,以下源码分析基于 JDK 1.8。 写操作在一个复制的数组上进行,读操作还是在原始数组中进行,读写分离,互不影响。 写操作需要加锁,防止并发写入时导致写入数据丢失。 写操作结束之后需要把原始数组指向新的复制数组。 CopyOnWriteArrayList 在写…
详解Java 容器(第④篇)——容器源码分析 - Map
如果没有特别说明,以下源码分析基于 JDK 1.8。 为了便于理解,以下源码分析以 JDK 1.7 为主。 1. 存储结构 内部包含了一个 Entry 类型的数组 table。 Entry 存储着键值对。它包含了四个字段,从 next 字段我们可以看出 Entry 是一个链表。…
详解Java 容器(第③篇)——容器源码分析 - List
如果没有特别说明,以下源码分析基于 JDK 1.8。 1. 概览 实现了 RandomAccess 接口,因此支持随机访问。这是理所当然的,因为 ArrayList 是基于数组实现的。 数组的默认大小为 10。 2. 扩容 添加元素时使用 ensureCapacityInter…
详解Java 容器(第②篇)——容器中的设计模式
Collection 继承了 Iterable 接口,其中的 iterator() 方法能够产生一个 Iterator 对象,通过这个对象就可以迭代遍历 Collection 中的元素。 从 JDK 1.5 之后可以使用 foreach 方法来遍历实现了 Iterable 接口…
详解Java 容器(第①篇)——概览
容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 1. Set TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。 但是查找效率不如 HashSet,Has…
深入理解Java多线程与并发框架(完结篇)——看完再不懂多线程我跪键盘
1. 线程的状态 2. 线程和进程的区别 3. Java内存模型与原子性、可见性、有序性 4. 重排序、屏障指令、as-if-serial、happens-before规则 5. 顺序一致性模型 6. synchronized 关键字 7. volatile 关键字 8. 深入…
深入理解Java多线程与并发框(第⑪篇)——线程池参数
线程的创建和销毁都会消耗大量资源,就好像公司每天上午9点工作时就招进一批员工,晚上6点干完活就辞退一批员工,这都会销毁公司大量资源。所以合理利用 “池” 中固定、稳定的线程是非常有必要的。 1. 参数 corePoolSize 核心线程池大小: 线程池中一直会存活该大小的线程数…
深入理解Java多线程与并发框(第⑩篇)——并发辅助工具类(很好的玩的工具类)
使用场景:用于 有且仅有两个线程 间的 数据传输,就就是线程间的 通信 。它是 生产者/消费者 d的 wait() / notify() 的最佳替代工具。 核心原理:方法 exchange()阻塞特性:此方法被调用后等待其他线程来取数据,如果没有其他线程取得数据,则一直 阻塞。…
深入理解Java多线程与并发框(第⑨篇)——并发包的基石:队列同步器 AQS
提供了一个基于 FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该 抽象队列同步器(以下简称队列同步器)利用了一个 private volatile int state来表示 同步状态,期望它能够成为实现大部分同步需求的基础。使用的方法是继承,子类通过继承同步器并需…
深入理解Java多线程与并发框(第⑧篇)——深入理解:CAS
CAS 是 CompareAndSwap 的缩写,意思是 比较 并 交换。 它是无锁化的实现是经典的乐观锁。 CAS 操作很简单,它包含三个操作数:内存地址V、预期原值A、新值B。先比较内存地址V处的值与预期原值A是否相等,如果相等就将内存地址V处更新为新值B。在配合循环使用时…
下一页
个人成就
文章被点赞
89
文章被阅读
51,156
掘力值
2,010
关注了
6
关注者
25
收藏集
0
关注标签
4
加入于
2020-02-26