摘要: synchronized是jdk中的关键字,保证了原子性、可见性、有序性。本文主要探讨可见性的相关问题。可见性是指一个线程对共享变量的修改,是否对其他线程可见。JMM中规定了,lock操作会从主存中刷新最新共享变量的值到工作线程,而unlock会将工作线程中的值同步会主存。所以synchronize 阅读全文
posted @ 2021-06-09 15:29 walker993 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 之前读CHM的源码(JDK8),其中有一段印象比较深,它内部有一个Node数组,volatile修饰, transient volatile Node<K,V>[] table; 。而Node对象本身,存储数据的val变量,也是用volatile修饰的。这两个一个是保证扩容时,变更table引用时的 阅读全文
posted @ 2021-06-09 01:13 walker993 阅读(2542) 评论(0) 推荐(0) 编辑