首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
泡软的方便面
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
6
文章 6
沸点 0
赞
6
返回
|
搜索文章
赞
文章( 6 )
沸点( 0 )
垃圾收集算法和常用的垃圾收集器学习记录
由于程序计数器和虚拟机栈都是线程私有的,随线程而生,随线程而灭,不需要我们关注。 堆和方法区有着很大的不确定性,我们所关注的正是这部分内存区域。 当前主流的虚拟机,都是通过可达性分析算法判断对象是否可以被回收。 通过一系列称为 "GC Roots" 的根对象作为起始节点集 ,从…
并发编程第十天----HashMap 与 ConcurrentHashMap 源码解析
。 hash 表综合了他们的优点,采用键值对形式存储,能根据键快速地取到相应的值,底层结构(JDK 1.8后)是数组+链表+红黑树。 本文分析的源码基于 JDK 1.8 ,数据存储在 Node 节点中。 tableSizeFor() 通过位移算法,返回大于等于给定目标数值的最小…
并发编程第九天---公平、非公平、读写锁源码
ReentrantLock 是可重入的独占锁,是用 AQS 来实现的,以下是其类图结构。 ReentrantLock 有两种锁模式,公平模式和非公平模式,我们先来看看非公平是如何体现的。 先尝试获取锁的线程并不一定比后尝试获取锁的线程优先获得锁,比如:线程 A 尝试获取锁,然后…
并发编程第八天--------大厂必问之 AQS 源码解析
LockSupport 是个工具类,主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。 LockSupport 类与每个使用他的线程都会关联一个许可证,在默认情况下调用 LockSupport 类方法的线程是不持有许可证的。LockSupport 使用 Unsafe…
并发编程第七天----CopyOnWriteArrayList 实现原理
ArrayList 相信大家都用过,我们来看看它在并发下的缺陷。 在遍历集合的过程中,如果对集合做了修改,会抛出 ConcurrentModificationException 异常,在 Java 中,for 循环遍历集合会转换成 Iterator 遍历,我们来看看迭代器遍历时…
并发编程第六天----LongAdder源码深度解析
AtomicLong 通过 CAS 提供了非阻塞的原子性操作,性能比使用同步锁好多了。但是在高并发情况下,大量线程争夺同一个原子变量,只有一个线程的 CAS 能操作成功,其他线程会不停地 CAS 自旋,极度浪费 CPU 资源。 为了解决这个问题,JDK8 提供了一个类 Long…
关注了
1
关注者
0
收藏集
0
关注标签
0
加入于
2020-05-30