加入笨神(公眾號:你假笨)帶頭創(chuàng)建的JVMPocket群已經有一段時間了,有幸得到笨神指導一二,學到了不少東西,也糾正了自己對JVM一些誤解,還能給群里一些朋友提出的問題給出...
什么時候傾向于選擇redis?業(yè)務需求決定技術選型,當業(yè)務有這樣一些特點的時候,選擇redis會更加適合。 復雜數據結構value是哈希,列表,集合,有序集合這類復雜的數據結...
問:KV緩存都緩存了一些什么數據?答:(1)樸素類型的數據,例如:int(2)序列化后的對象,例如:User實體,本質是binary(3)文本數據,例如:json或者html...
1 優(yōu)先隊列(Priority Queue)優(yōu)先隊列與普通隊列的區(qū)別:普通隊列遵循先進先出的原則;優(yōu)先隊列的出隊順序與入隊順序無關,與優(yōu)先級相關。優(yōu)先隊列可以使用隊列的接口,...
1.整型哈希函數的設計小范圍正整數直接使用小范圍負整數整體進行偏移大整數,通常做法是"模一個素數" 2.浮點型哈希函數的設計轉成整型進行處理 3.字符串哈希函數的設計轉成整型...
二叉樹跟鏈表一樣,二叉樹也是一種動態(tài)數據結構,即,不需要在創(chuàng)建時指定大小。跟鏈表不同的是,二叉樹中的每個節(jié)點,除了要存放元素e,它還有兩個指向其它節(jié)點的引用,分別用Node ...
Java并發(fā)工具類的三板斧 狀態(tài),隊列,CAS 狀態(tài): 隊列:在FutureTask中,隊列的實現(xiàn)是一個單向鏈表,它表示所有等待任務執(zhí)行完畢的線程的集合,如果獲取結果時,任務...
LinkedBlockingQueue基于鏈表實現(xiàn),未指定容量時默認容量為Integer.MAX_VALUE,即無界阻塞隊列,節(jié)點動態(tài)創(chuàng)建,節(jié)點出隊后可被GC,伸縮性較好;如...
基于AbstractQueuedSynchronizer(簡稱AQS)這個抽象類實現(xiàn),AQS實現(xiàn)了主體邏輯,使用的模板方法模式。不同的實現(xiàn)類具體實現(xiàn)不同。AQS結構 等待隊列...
占小狼老生常談,HashMap死循環(huán)詳細分析了HashMap多線程環(huán)境下的問題。一點感悟:hashmap多線程擴容,發(fā)生死循環(huán)。需要滿足以下幾點。1.新建立的鏈表跟原鏈表順序...
網上有人說為什么要用兩個condition來實現(xiàn)生產者消費者模式 如果只有一個condition,通過代碼演示,程序卡著不動了。 設置隊列容量為1,假設現(xiàn)在隊列為空,條件隊列...
參考 一行一行源碼分析清楚AQSAQS 獨占鎖:只能有一個線程持有鎖,獲取鎖失敗的線程進入阻塞隊列,持有鎖的線程釋放鎖之后會喚醒等待隊列中的第一個線程,讓其來占有鎖AQS 共...