JDK
文章平均质量分 96
yozzs
士不可以不弘毅,任重而道远
展开
-
jdk源码阅读 ReentrantLock ReentrantReadWriteLock
1. java主流的锁在存在数据竞争的场景下,经常要用到锁。除了语言层面的synchronized关键字,java还在jdk里提供了功能丰富的锁相关api。锁相关的概念有很多,synchronized关键字的特性可以想到 自旋,偏向锁,轻量级锁,重量级锁。ReentrantLock则实现公平锁&非公平锁、可重入锁&非可重入锁,ReentrantReadWriteLock还实现共享锁和独占锁。java锁的概念如下图:与synchronized的相关锁概念,如锁消除,锁粗化,自旋锁,偏原创 2021-01-19 14:57:01 · 202 阅读 · 0 评论 -
线程通信的一百种写法
线程通信是多线程应用开发中最常见的操作,除了wait notify方法,jdk提供了多种多样的api可以实现线程通信。原创 2020-07-01 14:45:12 · 251 阅读 · 0 评论 -
JDK源码阅读,手写HashMap
HashMap是jdk提供的最常用的容器之一,jdk 1.7及之前版本,HashMap底层基于数组和单链表结构,数组每个元素是一对键值对对象,该对象包括hash值,key,value以及单链表下一个键值对的引用。jdk 1.8对HashMap底层结构做了一些改进,当数组同一位置的键值对超过8个,不再以单链表形式存储,而是改为红黑树。进一步提升了性能。原创 2019-06-24 13:48:12 · 460 阅读 · 0 评论