本文意在理解java.util.concurrent.locks.AbstractQueuedSynchronizer中关于线程互斥的算法实现。分为两部分 逐步实现高效的CL...
本文意在理解java.util.concurrent.locks.AbstractQueuedSynchronizer中关于线程互斥的算法实现。分为两部分 逐步实现高效的CL...
很久之前研究过raft协议,最近项目中一直没有使用,有些生疏了,这次重温了一下raft,花了两天的时间,就顺便做下笔记。 一致性问题 在分布式系统中,一致性问题(consen...
volatile可以说是最轻量级的同步工具,但是要使用volatile来保证业务的安全和一致性,我们需要对其用法有一个认识。 被volatile修饰的变量具备两个...
最近 RocketMQ 刚刚上生产环境,闲暇之时在这里做一些分享,主要目的是让初学者能快速上手RocketMQ。 RocketMQ 是什么 Github 上关于 Rocket...
根据sun解释,线程生命周期在java中有以下几种状态:初始(NEW),运行(RUNNABLE),阻塞(BLOCKED),等待(WAITING),超时等待(TIMED_WAI...
一、 hashcode()方法是个native方法,返回该对象的哈希码,涉及到计算哈希码的数据结构都会用到此方法,如HashMap,HashSet,HashTable ...
transient只能用来修饰变量 当一个类实现了Serializable接口,那个这个类的实例就可以被序列化和反序列化,当这个类的某个属性(非静态属性)被transient...
首先声明此方案与并发没有关系,所以下文或者截图中涉及到的并发一词都是不合理的 这种控制其实不严格,比如针对多台服务器就不是你想的那样 此方案是用来限制接口访问的数,只是处于保...
redis数据结构在这里不讨论,把数据结构再往上提一层,redis就是一些键值对,我们在往redis里写数据的时候,可以设置一个过期时间,那么redis是如何保证让数据的安全...