- 博客(8)
- 收藏
- 关注
原创 CLH锁—AQS的核心原理
每次需要尝试获取锁的节点locked状态都设置true(解释一下当前节点locked的状态为什么要设置成true,locked状态是给后继节点自旋检测用的,当前节点都在尝试获取锁,后继节点一定不能获得锁,需要进行自旋;并且将该节点设置成末尾节点,然后返回之前的末尾节点,返回后当前节点检测返回的末尾节点的locked状态,如果状态是false则不需要自旋,如果是true则需要自旋。依此类推......然后是B是末尾节点,B的前一个末尾节点是A,那么B检测A的locked状态。C检测B的locked状态。
2024-03-10 14:43:42 253 1
原创 ThreadLocal看其他的有点蒙,自己写一下。
先看看ThreadLocal整体的结构(从源码中剔除了不需要的),SuppliedThreadLocal内部类我不粘贴,后续会提到。ThreadLocal中有一个静态内部类ThreadLocalMap,在ThreadLocalMap中维护了一个Entry静态类,还有一个Entry数组名为table的属性。在Entry类中,继承了 WeakReference
2024-03-10 11:18:31 872 1
原创 ArrayList源码分析,从头到尾
ArrayList 继承AbstractList实现List,RandomAccess,Cloneable,Serializable。继承AbstractList,AbstractList是所有类的实现List实现RandomAccess实现Cloneable实现Serializable。
2024-03-01 22:47:44 858 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人