首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程,锁
订阅
dwyane12
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
ConcurrentHashMap 源码阅读小结
每一次总结都意味着重新开始,同时也是为了更好的开始。ConcurrentHashMap 一直是我心中的痛。虽然不敢说完全读懂了,但也看了几个重要的方法,有不少我觉得比较重要的知识点。 说起 ConcurrentHashMap ,当然从入口开始说。该方法要点如下: 不允许有 nu…
并发Lock之AQS(AbstractQueuedSynchronizer)详解
1. J.U.C的lock包结构 上一篇文章讲了并发编程的锁机制:synchronized和lock,主要介绍了Java并发编程中常用的锁机制。Lock是一个接口,而synchronized是Java中的关键字,synchronized是基于jvm实现。Lock锁可以被中断,支…
Java核心(三)并发中的线程同步与锁
乐观锁、悲观锁、公平锁、自旋锁、偏向锁、轻量级锁、重量级锁、锁膨胀...难理解?不存的!来,话不多说,带你飙车。 上一篇介绍了线程池的使用,在享受线程池带给我们的性能优势之外,似乎也带来了另一个问题:线程安全的问题。 线程安全问题:指的是在多线程编程中,同时操作同一个可变的资源…
打通 Java 任督二脉 —— 并发数据结构的基石
Java 的线程阻塞和唤醒是通过 Unsafe 类的 park 和 unpark 方法做到的。 这两个方法都是 native 方法,它们本身是由 C 语言来实现的核心功能。park 的意思是停车,让当前运行的线程 Thread.currentThread() 休眠,unpark…
并发编程——ConcurrentHashMap#transfer() 扩容逐行分析
ConcurrentHashMap 是并发中的重中之重,也是最常用的数据结果,之前的文章中,我们介绍了 putVal 方法。并发编程之 ConcurrentHashMap(JDK 1.8) putVal 源码分析。其中分析了 initTable 方法和 putVal 方法,但也…
面试官最爱的volatile关键字
在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察JVM底层实现以及操作系统的相关知识。 1 . …
Java核心(二)深入理解线程池ThreadPool
为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高级内容,读者可根据自己的情况自主选择阅读顺序和需要了解的章节。 本节会介绍7种线程池的创建与使用,线程池的状态介绍,ThreadPoolExecutor参数介绍等。 newSingleThrea…
CopyOnWriteArrayList你都不知道,怎么拿offer?
可能大家对这个技术比较陌生吧,但这项技术是挺多应用场景的。除了上文所说的Linux、文件系统外,其实在Java也有其身影。 大家对线程安全容器可能最熟悉的就是ConcurrentHashMap了,因为这个容器经常会在面试的时候考查。 面试官:”ok,ok,ok,今天的面试时间也…
java.util.concurrent 并发包使用指南
本文不会去解释关于 Java 并发的核心问题 - 其背后的原理,也就是说,如果你对那些东西感兴趣,请参考《Java 并发指南》。 当你发现一些被漏掉的类或接口时,请耐心等待。在作者空闲的时候会把它们加进来的。 java.util.concurrent 包里的 BlockingQ…