插入排序 算法描述:從第一個(gè)元素開始藏畅,該元素可以認(rèn)為已經(jīng)被排序取出下一個(gè)元素,在已經(jīng)排序的元素序列中從后向前掃描如果該元素(已排序)大于新元素功咒,將該元素移到下一位置重復(fù)步驟3...

插入排序 算法描述:從第一個(gè)元素開始藏畅,該元素可以認(rèn)為已經(jīng)被排序取出下一個(gè)元素,在已經(jīng)排序的元素序列中從后向前掃描如果該元素(已排序)大于新元素功咒,將該元素移到下一位置重復(fù)步驟3...
冒泡排序 算法描述:比較相鄰元素愉阎,如果第一個(gè)數(shù)比第二個(gè)數(shù)大,則交換兩個(gè)元素對(duì)每一對(duì)相鄰元素做同樣的比較力奋,從開始第一對(duì)到結(jié)尾的最后一對(duì)榜旦,這樣最后的元素應(yīng)該是最大的數(shù)針對(duì)所有元素...
策略模式 定義一組算法,將每個(gè)算法都封裝起來景殷,使得它們之間可以相互替換溅呢。策略模式讓算法獨(dú)立于調(diào)用它的客戶端而獨(dú)立變化 包含角色 抽象策略(Strategy):通常由接口或抽象...
觀察者模式 在對(duì)象之間定義了一對(duì)多的依賴,這樣一來滨彻,當(dāng)一個(gè)對(duì)象改變狀態(tài)藕届,依賴它的對(duì)象會(huì)收到通知并自動(dòng)更新類似于發(fā)布訂閱模式,發(fā)布者發(fā)布信息亭饵,訂閱者獲取信息休偶,訂閱了就能收到信息...
健康檢測(cè) TCP心跳檢查 interval:檢測(cè)間隔時(shí)間fall:檢測(cè)失敗多少次后,后端服務(wù)器標(biāo)識(shí)為不存活rise:檢測(cè)成功多少次后辜羊,后端服務(wù)器標(biāo)識(shí)為存活timeout:檢測(cè)...
Consul服務(wù)注冊(cè)與發(fā)現(xiàn) Consul特性 服務(wù)注冊(cè) 服務(wù)發(fā)現(xiàn) 故障檢測(cè) K/V存儲(chǔ) 多數(shù)據(jù)中心:支持多數(shù)據(jù)中心 Raft算法:Consul使用Raft算法實(shí)現(xiàn)集群數(shù)據(jù)一致...
斐波拉契數(shù)組 遞歸實(shí)現(xiàn) 使用循環(huán)實(shí)現(xiàn) 時(shí)間復(fù)雜度為O(n) 擴(kuò)展 一只青蛙一次可以跳上1級(jí)臺(tái)階踏兜,也可以跳上2級(jí)词顾,求青蛙跳上一個(gè)n級(jí)的臺(tái)階總共有多少種跳法?分析:
單例模式 靜態(tài)內(nèi)置類實(shí)現(xiàn) 使用static代碼塊實(shí)現(xiàn) 使用enum枚舉實(shí)現(xiàn)
單例模式 立即加載/餓漢模式 延遲加載/懶漢模式 第一版 存在不支持多線程問題 第二版 方法加關(guān)鍵字synchronized碱妆,存在效率低問題 第三版 針對(duì)某些重要的部分單獨(dú)同...
Timer類 Timer類的主要作用就是設(shè)置計(jì)劃任務(wù)肉盹,但封裝任務(wù)的類卻是TimerTask類 schedule方法
ReentrantReadWriteLock類 讀寫鎖表示有兩個(gè)鎖,一個(gè)是讀操作相關(guān)的鎖疹尾,稱為共享鎖上忍;另一個(gè)寫操作相關(guān)的鎖,稱為排它鎖多個(gè)線程可以同時(shí)進(jìn)行讀取操作纳本,但同一時(shí)刻...
ReentrantLock實(shí)現(xiàn)生產(chǎn)者消費(fèi)者 一對(duì)一交替打印 多對(duì)多交替打印
ReentrantLock可重入鎖 在Java多線程中窍蓝,可以使用synchronized關(guān)鍵字來實(shí)現(xiàn)線程之間同步互斥,但在JDK1.5中新增加了ReentrantLock類也...
類ThreadLocal 變量值的共享可以使用public static變量的形式繁成,所有線程都使用同一個(gè)public static變量如果想實(shí)現(xiàn)每一個(gè)線程都有自己的共享變量該...
join實(shí)現(xiàn)順序執(zhí)行線程 join()等待線程摧毀 join和synchronized區(qū)別 join在內(nèi)部使用wait()方法進(jìn)行等待synchronized關(guān)鍵字使用的是“...
wait和notify實(shí)現(xiàn)生產(chǎn)者消費(fèi)者 實(shí)例 數(shù)據(jù)對(duì)象 生產(chǎn)者 消費(fèi)者
素?cái)?shù) 素?cái)?shù)就是只能被1和其自身整除吓笙,且大于1的自然數(shù)RSA算法中用到大素?cái)?shù) 判斷n是否為素?cái)?shù),簡(jiǎn)單的方法是將n按順序除以比2大的數(shù)字巾腕,看是否能被整除(n%m==0) 費(fèi)馬小定...
二叉搜索樹的第k個(gè)結(jié)點(diǎn) 給定一棵二叉樹面睛,請(qǐng)找出其中的第k大的結(jié)點(diǎn) 分析:二叉搜索樹的中序遍歷是遞增順序的
按之字形順序打印二叉樹 請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù)按照之字順序打印二叉樹,即第一行按照從左到右的順序打印尊搬,第二層按照從右到左的順序打印叁鉴,第三行再按照從左到右的順序打印,以此類推 分析:使...