這篇文章給大家分享的是java大廠面試題和解題思路。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
神農(nóng)架林區(qū)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
1、redis分布式鎖如何保證原子性?
可以了解下這個命令: set key value [EX seconds] [PX mlliseconds] [NX)XX]
2、用過ThreadLocal嗎 ?簡單說一下?
ThreadLocal采用的是以空間換時間的方式,為每個線程提供一份變量副本。 每一個線程都可以獨立的改變自己的副本。具體例子可以自己去網(wǎng)上找。
3、Java8之 后的ConcurrentHashMap,舍棄分段鎖
通過JDK的源碼和官方文檔看來,他們認(rèn)為的棄用分段鎖的原因由以下凡點:加入多個分段鎖浪費(fèi)內(nèi)存空間。生產(chǎn)環(huán)境中,map在放入時競爭同一個鎖的概率非常小,分段鎖反而會造成更新等操作的長時間等待。為了提高GC的效率。
4、介紹下cms收集器
CMS收集器是老年代收集器,可以配合新生代的Seria和ParNew收集器一起使用。使用的是標(biāo)記清除算法,容易產(chǎn)生內(nèi)存碎片。
4個步驟: 1.初始標(biāo)記--并發(fā)標(biāo)記--重新標(biāo)記--并發(fā)清除( 初始標(biāo)記、重新標(biāo)記)仍需STW。但初始標(biāo)記僅僅只標(biāo)記了一下GC Roots能直接關(guān)聯(lián)到的對象,速度很快。而重新標(biāo)記則是修正并發(fā)標(biāo)記期間因用戶程序繼續(xù)運(yùn)行而導(dǎo)致標(biāo)記產(chǎn)生變動的那一部分對象的標(biāo)記記錄,雖然一般比初始標(biāo)記階段稍長,但要遠(yuǎn)小于并發(fā)標(biāo)記時間。
5、redis緩存與數(shù)據(jù)庫一致性問題 ?
一致性問題主要出現(xiàn)在數(shù)據(jù)更新的時候,通常在更新時采取刪除緩存而不是更新緩存。具體一點?先淘汰緩存,再寫數(shù)據(jù)庫。因為如果先寫數(shù)據(jù)庫可能出現(xiàn)如果有讀請求發(fā)生,可能導(dǎo)致舊數(shù)據(jù)入緩存,引發(fā)數(shù)據(jù)不一致。
6、dubbo有 哪幾種負(fù)載均衡策略?
RandomL oadBalance:按權(quán)重隨機(jī)調(diào)用,這種方式是dubb默認(rèn)的負(fù)載均衡策略
RoundRobinL oadBalance :輪詢,按公約后的權(quán)重設(shè)置輪詢比率
L eastActivel oadBalance :最少活躍次數(shù)
ConsistentHashLoadBalance :一致性hash
自定義負(fù)載均衡策略
7、介紹下一 致性hash ?
先說下普通hash有機(jī)器宕機(jī)或者新加機(jī)器的后果。然后介紹一致性hash,hash值是個整數(shù)非負(fù)數(shù)值,所有的hash值形成一一個閉圓環(huán)對集群的的節(jié)點的某個屬性求hash值,放到環(huán) 上.數(shù)據(jù)key求hash值,也放到環(huán)上。數(shù)據(jù)的hash值按順時針找到離它最近的節(jié)點,放在該節(jié)點上。
8、介紹下MySQL的回表和覆蓋索引?
回表簡單來說就是數(shù)據(jù)庫根據(jù)索引(非主鍵)找到了指定記錄所在行后, 還需要根據(jù)主鍵再次到數(shù)據(jù)庫里獲取數(shù)據(jù)。如果一個索引包含(或要蓋)所有需要查詢的字段的值,稱為覆蓋索引。即只需掃描索引而無須回表。
9、說下模板方法模式?
所謂模版方式模式:把不變的行為搬到超類,去除子類中重復(fù)的代碼來體現(xiàn)他的優(yōu)勢;當(dāng)不變的和可變的行為在子類實現(xiàn)中混合在一起的時候,不變的行為就會在子類中重復(fù)實現(xiàn),我們通過模板方法模式把這些行為搬移到單一的地方,這樣就可以幫助子類擺脫重復(fù)不變行為的糾纏。
關(guān)于java大廠面試題和解題思路就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。