本文意在理解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...
根据sun解释,线程生命周期在java中有以下几种状态:初始(NEW),运行(RUNNABLE),阻塞(BLOCKED),等待(WAITING),超时等待(TIMED_WAI...
根据sun解释,线程生命周期在java中有以下几种状态:初始(NEW),运行(RUNNABLE),阻塞(BLOCKED),等待(WAITING),超时等待(TIMED_WAI...
一、 hashcode()方法是个native方法,返回该对象的哈希码,涉及到计算哈希码的数据结构都会用到此方法,如HashMap,HashSet,HashTable ...
transient只能用来修饰变量 当一个类实现了Serializable接口,那个这个类的实例就可以被序列化和反序列化,当这个类的某个属性(非静态属性)被transient...
redis数据结构在这里不讨论,把数据结构再往上提一层,redis就是一些键值对,我们在往redis里写数据的时候,可以设置一个过期时间,那么redis是如何保证让数据的安全...
无意间想起的一个问题 比如往socket里write的时候,比如往一个文件里写数据的时候,比如hession序列化的时候等等,不知道大家有没有想过这个问题。 以下是我的理解:...
我们知道zookeeper的功能是通知协调,那么如何理解通知协调呢 1、首先要理解zookeeper集群的特性,就是zookeeper会根据仲裁策略选出群首(后续有时间我会出...
启动zookeeper zkServer.sh start 客户端连接zookeeper服务器 zkCli.sh -server IP
1、先看看它的父类ContextLoader做的事情 2、再来看看DispatcherServlet实例化做的事情 两个图的对比你有没有发现什么问题呢,我没有发现,因为我有点...
一、ApplicationContextAware接口只有一个方法 通过它Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的se...