本文意在理解java.util.concurrent.locks.AbstractQueuedSynchronizer中關(guān)于線程互斥的算法實(shí)現(xiàn)。分為兩部分 逐步實(shí)現(xiàn)高效的CL...
本文意在理解java.util.concurrent.locks.AbstractQueuedSynchronizer中關(guān)于線程互斥的算法實(shí)現(xiàn)。分為兩部分 逐步實(shí)現(xiàn)高效的CL...
很久之前研究過raft協(xié)議,最近項(xiàng)目中一直沒有使用,有些生疏了,這次重溫了一下raft,花了兩天的時(shí)間,就順便做下筆記。 一致性問題 在分布式系統(tǒng)中,一致性問題(consen...
volatile可以說是最輕量級的同步工具,但是要使用volatile來保證業(yè)務(wù)的安全和一致性,我們需要對其用法有一個認(rèn)識。 被volatile修飾的變量具備兩個...
最近 RocketMQ 剛剛上生產(chǎn)環(huán)境,閑暇之時(shí)在這里做一些分享,主要目的是讓初學(xué)者能快速上手RocketMQ。 RocketMQ 是什么 Github 上關(guān)于 Rocket...
根據(jù)sun解釋,線程生命周期在java中有以下幾種狀態(tài):初始(NEW),運(yùn)行(RUNNABLE),阻塞(BLOCKED),等待(WAITING),超時(shí)等待(TIMED_WAI...
根據(jù)sun解釋,線程生命周期在java中有以下幾種狀態(tài):初始(NEW),運(yùn)行(RUNNABLE),阻塞(BLOCKED),等待(WAITING),超時(shí)等待(TIMED_WAI...
根據(jù)sun解釋,線程生命周期在java中有以下幾種狀態(tài):初始(NEW),運(yùn)行(RUNNABLE),阻塞(BLOCKED),等待(WAITING),超時(shí)等待(TIMED_WAI...
一、 hashcode()方法是個native方法,返回該對象的哈希碼,涉及到計(jì)算哈希碼的數(shù)據(jù)結(jié)構(gòu)都會用到此方法,如HashMap,HashSet,HashTable ...
transient只能用來修飾變量 當(dāng)一個類實(shí)現(xiàn)了Serializable接口,那個這個類的實(shí)例就可以被序列化和反序列化,當(dāng)這個類的某個屬性(非靜態(tài)屬性)被transient...
redis數(shù)據(jù)結(jié)構(gòu)在這里不討論,把數(shù)據(jù)結(jié)構(gòu)再往上提一層,redis就是一些鍵值對,我們在往redis里寫數(shù)據(jù)的時(shí)候,可以設(shè)置一個過期時(shí)間,那么redis是如何保證讓數(shù)據(jù)的安全...
無意間想起的一個問題 比如往socket里write的時(shí)候,比如往一個文件里寫數(shù)據(jù)的時(shí)候,比如hession序列化的時(shí)候等等,不知道大家有沒有想過這個問題。 以下是我的理解:...
我們知道zookeeper的功能是通知協(xié)調(diào),那么如何理解通知協(xié)調(diào)呢 1、首先要理解zookeeper集群的特性,就是zookeeper會根據(jù)仲裁策略選出群首(后續(xù)有時(shí)間我會出...
1、先看看它的父類ContextLoader做的事情 2、再來看看DispatcherServlet實(shí)例化做的事情 兩個圖的對比你有沒有發(fā)現(xiàn)什么問題呢,我沒有發(fā)現(xiàn),因?yàn)槲矣悬c(diǎn)...
一、ApplicationContextAware接口只有一個方法 通過它Spring容器會自動把上下文環(huán)境對象調(diào)用ApplicationContextAware接口中的se...