BST 二叉查找樹就是一顆二叉樹脐嫂,他的左節(jié)點比父節(jié)點要小,右節(jié)點比父節(jié)點要大才漆。他的高度決定的查找效率亚兄。 當(dāng)查找BST時醋安,先進行當(dāng)前節(jié)點比較: 如果相等的話就返回當(dāng)前節(jié)點假丧; 如...
1.WeakReference的referent指向ThreadLocal的原因 ThreadLocal作為WeakReference的referent县耽,只要ThreadLo...
前言 從PC互聯(lián)網(wǎng)到移動互聯(lián)網(wǎng)订咸,B/S架構(gòu)演化為多端/S架構(gòu)。后端服務(wù)SOA模式下的重服務(wù)或單服務(wù)架構(gòu)酬诀,逐漸按功能模塊被切分成微服務(wù)架構(gòu)(延伸閱讀《軟件工程和架構(gòu)發(fā)展簡史》)...
看到第一個圖就知道錯了,為什么錯自己去看官方文檔骆撇,路過的人不要信
JVM系列(三)內(nèi)存劃分我們的java代碼經(jīng)過了類加載到了JVM運行時候瞒御,就需要使用到多塊內(nèi)存空間,不同的空間存放不同的數(shù)據(jù)神郊,配合代碼流程肴裙,才能讓程真正運行起來。 JVM內(nèi)存劃分在JDK...
redis cluster 集群之間 如何實現(xiàn)通訊 1.gossip 協(xié)議pingpongmeet2.10000節(jié)點3.交換信息 內(nèi)存淘汰策略 數(shù)據(jù)結(jié)構(gòu) sort set 為...
偏向所鎖涌乳,輕量級鎖及重量級鎖 偏向所鎖蜻懦,輕量級鎖都是樂觀鎖,重量級鎖是悲觀鎖夕晓。 一個對象剛開始實例化的時候宛乃,沒有任何線程來訪問它的時候。它是可偏向的蒸辆,意味著征炼,它現(xiàn)在認為只可能...
5. InnoDB 行鎖 5.1 行鎖介紹 行鎖特點 :偏向InnoDB 存儲引擎,開銷大躬贡,加鎖慢谆奥;會出現(xiàn)死鎖;鎖定粒度最小拂玻,發(fā)生鎖沖突的概率最低,并發(fā)度也最高酸些。InnoDB...
對,這就是最簡單的鎖檐蚜,看不懂建議先把sql執(zhí)行順序復(fù)習(xí)一遍
并發(fā)減庫存,怎么保證不超賣?并發(fā)減庫存 秒殺的場景有很多魄懂,比如:搶購、搶票熬甚、搶紅包等等逢渔。總之乡括,就是在極短時間內(nèi)有大量的請求肃廓。 我們都知道,這種系統(tǒng)設(shè)計的大方向就是限流诲泌,即通過層層過濾盲赊,最終只讓相對較少的...
面試回答這個直接就可以走人了,一點原理不說
HashMap和HashTable的區(qū)別1敷扫、線程是否安全:HashMap是非線程安全的哀蘑,HashTable是線程安全的诚卸;HashTable內(nèi)部的方法基本上都經(jīng)過synchronized修飾。(如果你要保保證線程安全...
1. b樹沒有雙向指針绘迁,b+樹有合溺,可有用來范圍查找,同理hash結(jié)構(gòu)索引也沒辦法范圍查找 2. b樹可以在非葉子節(jié)點存儲數(shù)據(jù)缀台,b+樹只可以在葉子節(jié)點存儲數(shù)據(jù)棠赛,故b+樹可以存儲...
最近在項目中遇到了類似“秒殺”的業(yè)務(wù)場景,在本篇博客中膛腐,我將用一個非常簡單的demo睛约,闡述實現(xiàn)所謂“秒殺”的基本思路。 業(yè)務(wù)場景 所謂秒殺哲身,從業(yè)務(wù)角度看辩涝,是短時間內(nèi)多個用戶“...
前言 如果在日常開發(fā)中我們用new對象的方式勘天,若多個構(gòu)造函數(shù)相互依賴的話怔揩,程序會在運行時一直循環(huán)調(diào)用最終導(dǎo)致內(nèi)存溢出,那么spring是利用三級緩存解決循環(huán)依賴的误辑,讓開發(fā)者無...
Spring什么時候?qū)嵗痓ean沧踏,首先要分2種情況 第一:如果你使用BeanFactory作為Spring Bean的工廠類,則所有的bean都是在第一次使用該Bean的...
大家都知道巾钉,局部變量是存在于棧里的翘狱,隨著方法的調(diào)用而產(chǎn)生韭寸,隨著方法的執(zhí)行完畢而消失遇革,因為棧是線程私有的,所以局部變量也是線程安全的横殴。 那成員變量又是存在于哪里呢赚导,網(wǎng)上有的...
類什么時候被加載/類加載時機: 第一:生成該類對象的時候茬缩,會加載該類及該類的所有父類; 第二:訪問該類的靜態(tài)成員的時候吼旧; 第三:class.forName("類名")凰锡;