第一次使用緩存,因為沒預(yù)熱,翻車了
預(yù)熱一般指緩存預(yù)熱,一般用在高并發(fā)系統(tǒng)中,為了提升系統(tǒng)在高并發(fā)情況下的穩(wěn)定性的一種手段。 緩存預(yù)熱是指在系統(tǒng)啟動之前或系統(tǒng)達到高峰期之前,通過預(yù)先將常用數(shù)據(jù)加載到緩存中,以提高緩存命中率和系統(tǒng)性能的過程。緩存預(yù)熱的目的是盡可能地避免緩存擊穿...
為什么JDK 15要廢棄偏向鎖?
在JDK 1.7中,引入了偏向鎖的概念來優(yōu)化synchronized的性能,但是偏向鎖,在JDK 15中已經(jīng)被廢棄了。 那么,為什么呢?(https://openjdk.org/jeps/374 ) JDK 15決定廢棄偏向鎖的主要原因是:...
InnoDB為什么不用跳表,Redis為什么不用B+樹?
Innodb是MySQL的執(zhí)行引擎,MySQL是一種關(guān)系型數(shù)據(jù)庫,而Redis是一種非關(guān)系型數(shù)據(jù)庫。這兩者之間比較大的區(qū)別是:關(guān)系型數(shù)據(jù)庫以表的形式進行存儲數(shù)據(jù),而非關(guān)系型數(shù)據(jù)庫以Key-value的形式存儲數(shù)據(jù)。 在InnoDB中,索引是...
解決冪等問題,只需要記住這個口訣
作為開發(fā)人員,我們每天都要開發(fā)大量的接口,其中包括了讀接口和寫接口,而對于寫接口來說,除了要保證他的性能、可用性以外,還需要有一個重要的問題,那就是考慮如何保證接口的冪等性。 冪等性 什么是冪等性? 冪等(idempotent、idempo...
CMS和G1改用三色標(biāo)記法,可達性分析到底做錯了什么?
我們都知道, 當(dāng)JVM判斷對象不再存活的時候,便會在下一次GC時候?qū)⒃搶ο蠡厥盏?,為堆騰出空間,而JVM判斷對象存活的算法大家比較熟知的有兩種,分別是引用計數(shù)法和可達性分析算法 引用計數(shù)法:給對象中添加一個引用計數(shù)器,每當(dāng)有一個地方引用它,...
CAS確定完全不需要鎖嗎?
CAS大家都知道,這是一項樂觀鎖技術(shù),是Compare And Swap的簡稱,顧名思義就是先比較再替換。 雖然他叫樂觀鎖,但是我們都知道它是不需要加鎖的,在JDK1.5 中的JUC就是建立在CAS之上的。相對于synchronized這種...
公開發(fā)表
公開發(fā)表,作品名稱:Java面試寶典,作者:張洪亮,著作權(quán)人:張洪亮,登記號:魯作登字-2023-L-00123943
并發(fā)編程的原子性 != 事務(wù)ACID的原子性
關(guān)于原子性,很多人在多個地方都聽說過,大家也都背的很熟悉。 在事務(wù)的ACID中,有原子性的概念,在并發(fā)編程的原子性、可見性、有序性中也有原子性的概念。 有人認為他們是一樣的,甚至很多人在說原子性的時候也都是這么說的: 原子性是指事務(wù)是一個不...
Innodb的RR到底有沒有解決幻讀?
關(guān)于Innodb中的REPEATABLE READ這種隔離級別到底有沒有解決幻讀?好像眾說紛紜,大家的說法都不一致。 有的人說,RR當(dāng)然沒解決幻讀了,因為只有Serializable才能解決幻讀。 也有人說,RR解決了幻讀,因為RR中加了間...
Spring Cloud 2022發(fā)布,這幾個組件要移除了!
繼SpringBoot 3.0和SpringFramework 6.0之后,Spring Cloud 終于也推出了新版本——2022.0.0,官網(wǎng)把這個版本命名為Kilburn。 目前在Maven倉庫中已經(jīng)可以下載使用了,通過BOM文件即可...