JAVA面試習題梳理-P3

0.力扣:https://leetcode-cn.com/

p3_力扣.png

1.String.intern()
p3_InternTest.png

2.可重入鎖:一個線程中的多個流程可以獲取同一把鎖洽沟,持有這把同步鎖可以再次進入睡陪,自己可以獲取自己的內(nèi)部鎖(暫時模糊理解下)
p3_可重入鎖_synchronized.png

p3_可重入鎖_reentrantlock.png

3.基于Synchronized和ReentrantLock可重入鎖局限性分析
p3_可重入鎖_synchronized局限性.png

p3_可重入鎖_reentrantlock局限性.png

4.LockSupport
LockSupport的park()和unpark()方法底層調(diào)用unsafe類的park和unpark方法镣丑,分別使當前線程的許可證permit設(shè)置為0和1命辖,注意多次調(diào)用upark不會使permit累加练链,即permit最大是1
p3_lockSupport.png

5.AQS
定義:抽象的隊列同步器
基于ReentrantLock對AQS的源碼深度解讀
ReentrantLock里有屬性Sync担败,Sync繼承自AQS讯壶,架構(gòu)如下
p3_lock_AQS架構(gòu).png

AQS是所有關(guān)于鎖的實現(xiàn)機制的上層建筑(頂層設(shè)計)雪情,有一個子類sync,并通過cas控制state控制鎖的開放和關(guān)閉鸭巴,把沒有搶到cpu時間片的線程加到內(nèi)部類node隊列(CLH隊列)里眷细,實現(xiàn)機制類比map
image.png

image.png

AQS這個類的內(nèi)部類node的屬性說明
image.png

image.png

AQS源碼分析
image.png

image.png

image.png

6.spring4和5的aop順序
spring45_aop順序.png

7.Spring循環(huán)依賴
定義:多個bean之間的相互依賴,形成了一個閉環(huán)鹃祖,比如A依賴B溪椎,B依賴C,C依賴A
通常來說恬口,如果問Spring容器內(nèi)部如何解決循環(huán)依賴校读,一定默認指的是單例Bean中,屬性相互引用的場景祖能,即scop只能是singleton不能是prototype歉秫,否則報錯
p3_循環(huán)依賴.png

p3_循環(huán)依賴_test.png

對構(gòu)造方法注入的Bean不能解決,setter注入的方式可以
8.DefaultSingletonBeanRegistry的三級緩存养铸,解決循環(huán)依賴問題
p3_循環(huán)依賴_三級緩存代碼.png

p3_循環(huán)依賴_三級緩存代碼說明.png

p3_循環(huán)依賴_三級緩存流程.png

p3_循環(huán)依賴_三級緩存流程2.png

p3_循環(huán)依賴_三級緩存流程_getSingleton.png

p3_循環(huán)依賴_三級緩存流程3.png

9.redis
查看版本 redis-server -v 或者登錄后 info
登錄狀態(tài)下的幫助命令 help @數(shù)據(jù)類型
redis的命令不區(qū)分大小寫雁芙,但是key區(qū)分大小寫
linux的redis版本穩(wěn)定的6.0.8
10.數(shù)據(jù)類型
p3_redis數(shù)據(jù)類型.png

String
p3_redis數(shù)據(jù)類型_string.png

Hash
p3_redis數(shù)據(jù)類型_hash.png

list
p3_redis數(shù)據(jù)類型_list.png

Set
p3_redis數(shù)據(jù)類型_set.png

p3_redis數(shù)據(jù)類型_set_抽獎.png

p3_redis數(shù)據(jù)類型_set_點贊.png

p3_redis數(shù)據(jù)類型_set_共同關(guān)注的人.png

p3_redis數(shù)據(jù)類型_set_可能認識的人.png

Zset
p3_redis數(shù)據(jù)類型_zset.png

![p3_redis數(shù)據(jù)類型_zset_熱搜.png](https://upload-images.jianshu.io/upload_images/10798990-d66db4a1cded72cd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

11.基于redis實現(xiàn)的分布式鎖(上傳原因,倒敘展示)
p3_killLunch10.png

p3_killLunch9.png

p3_killLunch8.png

p3_killLunch7.png

p3_killLunch6.png

p3_killLunch5.png

p3_killLunch4.png

p3_killLunch3.png

p3_killLunch2.png

p3_killLunch1.png

p3_RedisConfig.png

p3_RedisUtils.png

12.redis占用內(nèi)存不設(shè)置或者設(shè)置為0钞螟,在64位操作系統(tǒng)下不限制內(nèi)存大小兔甘,在32位操作系統(tǒng)下3G,一般生產(chǎn)配置為物理內(nèi)存的四分之三
修改redis占用內(nèi)存:修改配置文件maxmemory或者通過命令config set maxmemory 100*1024,單位字節(jié)
查看redis配置筛圆,config get xxxx
查看redis全部信息裂明,info
查看redis內(nèi)存(配置和使用)信息,info memory
如果redis內(nèi)存打滿太援,報錯oom
13.redis緩存刪除策略:
1.定時刪除:過期時間一到就刪除闽晦。優(yōu)點是數(shù)據(jù)的實時性很高,缺點是cpu需要時刻監(jiān)督redis數(shù)據(jù)的過期時間提岔,cpu很忙
2.惰性刪除:如果未過期返回數(shù)據(jù)仙蛉,發(fā)現(xiàn)已過期,刪除碱蒙,返回不存在荠瘪。優(yōu)點是相對前者降低了cpu的壓力,缺點是對內(nèi)存不友好赛惩,有可能把已經(jīng)過期的數(shù)據(jù)還存在redis里占用內(nèi)存
3.定期刪除:
image.png

14.redis緩存淘汰策略


p3_Redis內(nèi)存淘汰策略.png

哀墓,生產(chǎn)建議配置allkeys-lru
15.LRU算法(最近最少使用),核心是哈希鏈表


p3_LRU_node.png

p3_LRU_DoubleLinkedStructure.png

p3_LRU.png

p3_LRU_Test.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末喷兼,一起剝皮案震驚了整個濱河市篮绰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌季惯,老刑警劉巖吠各,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件臀突,死亡現(xiàn)場離奇詭異,居然都是意外死亡贾漏,警方通過查閱死者的電腦和手機候学,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纵散,“玉大人梳码,你說我怎么就攤上這事±常” “怎么了边翁?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵翎承,是天一觀的道長硕盹。 經(jīng)常有香客問我,道長叨咖,這世上最難降的妖魔是什么瘩例? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮甸各,結(jié)果婚禮上垛贤,老公的妹妹穿的比我還像新娘。我一直安慰自己趣倾,他們只是感情好聘惦,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著儒恋,像睡著了一般善绎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诫尽,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天禀酱,我揣著相機與錄音,去河邊找鬼牧嫉。 笑死剂跟,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的酣藻。 我是一名探鬼主播曹洽,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼辽剧!你這毒婦竟也來了送淆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤抖仅,失蹤者是張志新(化名)和其女友劉穎坊夫,沒想到半個月后砖第,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡环凿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年梧兼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片智听。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡羽杰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出到推,到底是詐尸還是另有隱情考赛,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布莉测,位于F島的核電站颜骤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捣卤。R本人自食惡果不足惜忍抽,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望董朝。 院中可真熱鬧鸠项,春花似錦、人聲如沸子姜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哥捕。三九已至牧抽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扭弧,已是汗流浹背阎姥。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鸽捻,地道東北人呼巴。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像御蒲,于是被迫代替她去往敵國和親衣赶。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容