摘要:
Life is like a box of chocolates, you never know what you're gonna get." - from the movie Forrest Gump 之前的篇幅介绍了关于内置锁的实现,在jvm中,内置锁有着“致命”的缺点,所以从1.55版本开始 阅读全文
posted @ 2026-07-30 17:03
青柠_fisher
阅读(9)
评论(0)
推荐(0)
摘要:
JMM模型:Java Memory Model Java内存模型,它不像JVM内存模型,而是一个规范 并发编程的问题 原子性问题 原子性问题,就是指一个“不可中断”的动作,要么执行要么不执行,它不会因为线程和CPU切片的切换被中断。如:i++语句,就不是一个原子性操作[1]。 可见性问题 一个变量被 阅读全文
posted @ 2026-07-30 17:03
青柠_fisher
阅读(6)
评论(0)
推荐(0)
摘要:
由于JVM的sychronized内置锁涉及操作系统的内核的互斥锁,线程都会存在从用户态到内核态的切换,导致开销过大;而优化后的轻量级锁使用CAS进行自旋,所以轻量锁开销较小。 CAS CAS的全拼是:Compare And Swap,比较并交换。字面我们可以将它拆分成两个步骤: 比较 交换 在JD 阅读全文
posted @ 2026-07-30 17:03
青柠_fisher
阅读(4)
评论(0)
推荐(0)
摘要:
aqs,它是抽象队列同步器AbstractQueuedSynchronizer ,是juc包下的核心组件。 关于aqs aqs,是AbstractQueuedSynchronizer 的简称,位于juc包下。在jdk1.5后,提供了针对并发处理的一些工具。 通过aqs,其实它提供了实现锁和线程同步机 阅读全文
posted @ 2026-07-30 17:03
青柠_fisher
阅读(6)
评论(0)
推荐(0)
摘要:
关于List是基于Collection接口的实现类 ArrayList //这个就是存储数据的数组,扩容和元素的增删改查 都是围绕它展开的 transient Object[] elementData; //ArrayList的大小,size的返回值 private int size; //默认的容 阅读全文
posted @ 2026-07-30 17:03
青柠_fisher
阅读(5)
评论(0)
推荐(0)
摘要:
关于Map接口,具体的实现有HashMap、HashTable、TreeMap等 HashMap 老规矩,如果我们要看源码,我们要从这么几点去看:它的继承结构、它的核心实现能力。我们知道hashMap是一个kv容器,那么它的实现其实主要取决于这几点: 存放 如何处理hash冲突 怎么存? 获取 怎么 阅读全文
posted @ 2026-07-30 17:03
青柠_fisher
阅读(5)
评论(0)
推荐(0)
摘要:
并发编程是编程中重要的一环,在特定的场景下,熟悉并发知识并且掌握并发编程显得尤为重要 在本篇开篇前针对几个知识点进行说明,虽然有些组件不是位于juc下并且它本身是无锁实现的,但是它却能解决并发相关的问题 ThreadLocal的原理 ThreadLocal应该是java工程师很熟悉的一个组件,它在本 阅读全文
posted @ 2026-07-30 17:02
青柠_fisher
阅读(7)
评论(0)
推荐(0)

浙公网安备 33010602011771号