結(jié)構(gòu)類模式包括適配器模式袍睡、橋接模式芭梯、組合模式荤傲、裝飾模式累铅、門面模式割择、享元模式和代理模式嘿辟。 為什么叫結(jié)構(gòu)類模式呢?因?yàn)樗鼈兌际峭ㄟ^組合類或?qū)ο螽a(chǎn)生更大結(jié)構(gòu)以適應(yīng)更高層次的邏輯需求...
總原則:開閉原則(Open Close Principle) 對(duì)擴(kuò)展開放池摧,對(duì)修改關(guān)閉(可復(fù)用設(shè)計(jì)焦除,抽象化) 在程序需要進(jìn)行擴(kuò)展的時(shí)候,不能去修改原有的代碼作彤,而是要擴(kuò)展原有代碼...
六種關(guān)系:泛化(Generalization), 實(shí)現(xiàn)(Realization)膘魄,關(guān)聯(lián)(Association),聚合(Aggregation)竭讳,組合(Composition...
一创葡、設(shè)計(jì)模式的分類 總體分為三大類: 創(chuàng)建型模式,關(guān)注對(duì)象的創(chuàng)建(“花樣new模式”)绢慢,共5種:工廠方法模式灿渴、抽象工廠模式、單例模式胰舆、建造者模式逻杖、原型模式; 結(jié)構(gòu)型模式思瘟,關(guān)注...
干IT時(shí)間久了,免不了要去面試別人闻伶,那怎么才能快速找到自己需要的人呢滨攻? 常見的套路:上來就是一套 Java 八股文,什么 HashMap 、 ConcurrentHashMa...
Quarkus: 容器優(yōu)先 統(tǒng)一命令式和響應(yīng)式編程 社區(qū)和標(biāo)準(zhǔn) Kubernetes原生 Developer JoyQuarkus-vs-Springboot 優(yōu)劣勢(shì)分析: ...
java并發(fā)編程中光绕,經(jīng)常會(huì)看到 volatile 關(guān)鍵字女嘲。今天就讓我們來盤一盤它。 volatile相關(guān)定義 java語(yǔ)言規(guī)范對(duì)于 volatile 定義如下: ...
ThreadLocal是什么 提供線程局部變量欣尼,一個(gè)線程的局部變量在多個(gè)線程中有獨(dú)立的副本,特點(diǎn)有:簡(jiǎn)單(開箱即用)停蕉,快速(無額外開銷)愕鼓,安全(線程安全);場(chǎng)景:多線程場(chǎng)景(...
Paxos慧起、Raft菇晃、ZAB 等分布式算法經(jīng)常會(huì)被稱作是“強(qiáng)一致性”的分布式共識(shí)協(xié)議,其實(shí)這樣的描述摳細(xì)節(jié)概念的話是很別扭的蚓挤,會(huì)有語(yǔ)病嫌疑磺送,但我們都明白它的意思其實(shí)是在說“盡...
Raft概述 Raft 是工程上使用較為廣泛的 強(qiáng)一致性、去中心化灿意、高可用 的分布式協(xié)議估灿,用于管理副本復(fù)制(Log Replication)。相比傳統(tǒng)的 Paxos 算法缤剧,R...
Distributed Consensus AlgorithmThere is only one consensus protocol, and that's “Paxos”...
一馅袁、類加載時(shí)機(jī) 一個(gè)類型從被加載到虛擬機(jī)內(nèi)存中開始,到卸載出內(nèi)存為止鞭执,整個(gè)生命周期將會(huì)經(jīng)歷 加載司顿、驗(yàn)證、準(zhǔn)備兄纺、解析大溜、初始化、使用估脆、卸載 七個(gè)階段钦奋。 其中驗(yàn)證、準(zhǔn)備疙赠、解析三個(gè)部...
參數(shù)描述UseSerialGCClient 模式下的默認(rèn)值付材,打開后,使用 Serial + Serial Old 組合進(jìn)行內(nèi)存回收UseParNewGC打開后圃阳,使用 ParN...
新生代收集器 + 老年代收集器 一厌衔、Serial 收集器 串行收集,STW 時(shí)間長(zhǎng)捍岳。 新生代:復(fù)制算法老年代:標(biāo)記整理算法 二富寿、ParNew 收集器 只負(fù)責(zé)新生代垃圾回收睬隶,采...
并發(fā)的可達(dá)性分析 CMS和G1都有一個(gè)并發(fā)標(biāo)記的過程,并發(fā)標(biāo)記要解決什么問題页徐?帶來了什么問題苏潜?怎么解決這些問題呢? 可達(dá)性分析算法需要一個(gè)理論前提:該算法的全過程都需要基于一...
一变勇、對(duì)象優(yōu)先在 Eden 分配 大多數(shù)情況下恤左,對(duì)象在新生代 Eden 中分配。當(dāng) Eden 區(qū)空間不足以分配時(shí)搀绣,虛擬就將發(fā)起一次 Minor GC飞袋。 二、大對(duì)象直接進(jìn)老年代 ...
根節(jié)點(diǎn)枚舉 在可達(dá)性算法當(dāng)中是通過GC ROOT的引用找到存活對(duì)象的方式豌熄,在現(xiàn)代的收集器基本可以做到和用戶線程一起并發(fā)執(zhí)行的程度授嘀,但是根節(jié)點(diǎn)枚舉要保證某個(gè)時(shí)間點(diǎn)的“快照”,這...
安全點(diǎn) safe point 是什么? 有什么用锣险? 兩種遍歷 GC Roots 的方法: 遍歷方法區(qū)和棧區(qū)查找(保守式GC) OopMap 數(shù)據(jù)結(jié)構(gòu)來記錄 GC Roots ...
記憶集與卡表 跨代引用 跨代引用是指新生代中存在對(duì)老年代對(duì)象的引用,或者老年代中存在對(duì)新生代的引用芯肤。 新生代引用老年代 做正常的垃圾回收即可巷折。即使Minor GC把年輕...