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