臨時同步

Runnable接口和Callable接口

CyclicBarrier和CountDownLatch的區(qū)別

它的執(zhí)行是Java代碼–>字節(jié)碼–>根據字節(jié)碼執(zhí)行對應的C/C++代碼–>C/C++代碼被編譯成匯編語言–>和硬件電路交互碰凶,現實中,為了獲取更好的性能JVM可能會對指令進行重排序,多線程下可能會出現一些意想不到的問題缕溉。使用volatile則會對禁止語義重排序跳昼,當然這也一定程度上降低了代碼執(zhí)行效率

volatile關鍵字的作用:保證可見性汗贫,禁止重排序

如果你的代碼在多線程下執(zhí)行和在單線程下執(zhí)行永遠都能獲得一樣的結果澈圈,那么你的代碼就是線程安全的域携。

lang,util,net,sql,io,concurrent,text

fail-fast機制,它是Java集合的一種錯誤檢測機制棺弊。當多個線程對集合進行結構上的改變的操作時晶密,有可能會產生fail-fast機制。記住是有可能模她,而不是一定稻艰。

方案一:在遍歷過程中所有涉及到改變modCount值得地方全部加上synchronized或者直接使用Collections.synchronizedList,這樣就可以解決侈净。但是不推薦尊勿,因為增刪造成的同步鎖可能會阻塞遍歷操作。
方案二:使用CopyOnWriteArrayList來替換ArrayList畜侦。推薦使用該方案

9元扔、一個線程如果出現了運行時異常會怎么樣
如果這個異常沒有被捕獲的話,這個線程就停止執(zhí)行了夏伊。另外重要的一點是:如果這個線程持有某個某個對象的監(jiān)視器摇展,那么這個對象監(jiān)視器會被立即釋放

阻塞隊列BlockingQueue就是為線程之間共享數據而設計的

11、sleep方法和wait方法有什么區(qū)別

這個問題常問,sleep方法和wait方法都可以用來放棄CPU一定的時間咏连,不同點在于如果線程持有某個對象的監(jiān)視器盯孙,sleep方法不會放棄這個對象的監(jiān)視器,wait方法會放棄這個對象的監(jiān)視器

13祟滴、ThreadLocal有什么用

簡單說ThreadLocal就是一種以空間換時間的做法振惰,在每個Thread里面維護了一個以開地址法實現的ThreadLocal.ThreadLocalMap,把數據進行隔離垄懂,數據不共享骑晶,自然就沒有線程安全方面的問題了

區(qū)塊鏈(Blockchain)是比特幣的一個重要概念,本質上是一個去中心化的數據庫草慧,同時作為比特幣的底層技術桶蛔。區(qū)塊鏈是一串使用密碼學方法相關聯(lián)產生的數據塊,每一個數據塊中包含了一次比特幣網絡交易的信息漫谷,用于驗證其信息的有效性(防偽)和生成下一個區(qū)塊仔雷。
區(qū)塊鏈在網絡上是公開的,可以在每一個離線比特幣錢包數據中查詢舔示。比特幣錢包的功能依賴于與區(qū)塊鏈的確認碟婆,一次有效檢驗稱為一次確認。通常一次交易要獲得數個確認才能進行惕稻。輕量級比特幣錢包使用在線確認竖共,即不會下載區(qū)塊鏈數據到設備存儲中。

區(qū)塊鏈就是把加密數據(區(qū)塊)按照時間順序進行疊加(鏈)生成的永久俺祠、不可逆向修改的記錄公给。

在分布式系統(tǒng)中,同時滿足“CAP定律”中的“一致性”锻煌、“可用性”和“分區(qū)容錯性”三者是不可能的
提到分布式系統(tǒng)妓布,必然要提到分布式事務。要想理解分布式事務宋梧,不得不先介紹一下兩階段提交協(xié)議匣沼。

著名的CAP理論:一致性,可用性捂龄,分區(qū)容忍性释涛,你可以要其中的兩個。

分布式事務倦沧,常見的兩個處理辦法就是兩段式提交和補償唇撬。
兩段式提交典型的就是XA,有個事務協(xié)調器展融,告訴大家窖认,來都準備好提交,大家回復,都準備好了扑浸,然后協(xié)調器告訴大家烧给,一起提交,大家都提交了喝噪。
補償比較好理解础嫡,先處理業(yè)務,然后定時或者回調里酝惧,檢查狀態(tài)是不是一致的榴鼎,如果不一致采用某個策略,強制狀態(tài)到某個結束狀態(tài)(一般是失敗狀態(tài))晚唇,然后就世界太平了巫财。典型的就是沖正操作。

kimmking:淘寶之類的網站一般的做法是哩陕,如果4個都成功才算成功翁涤,那么這次提交時4個寫都設置成一個中間狀態(tài),先容許不一致萌踱。然后4個執(zhí)行完成了以后,回調或是定時任務里檢查這4個數據是不是一致的号阿,如果一致就全部置為成功狀態(tài)并鸵,如果不一致就全部置為失敗。

聯(lián)機事務處理OLTP(on-line transaction processing)主要是執(zhí)行基本的扔涧、日常的事務處理园担,比如數據庫記錄的增、刪枯夜、改弯汰、查。比如在銀行存取一筆款湖雹,就是一個事務交易咏闪。

關系型數據庫通常具有ACID特性:原子性(Atomicity)、一致性(Consistency)摔吏、隔離性(Isolation)鸽嫂、持久性(Durability)。

支付寶開發(fā)的分布式事務是基于兩階段提交的理論(Two Phase Commit)
Phase 1:TM向所有的RM發(fā)送準備請求征讲,RM收到準備請求后据某,進行準備操作,并向TM回復是否可以提交诗箍。

Phase 2:TM收到所有RM的回復后癣籽,如果所有RM均可以提交,向所有RM發(fā)送提交請求,否則發(fā)送回滾請求筷狼。RM根據TM發(fā)送的消息控制本地事務提交或回滾瓶籽。

catch中有return,finally中沒有return桑逝,return的值在執(zhí)行finally之前已經確定下來了棘劣。

悲觀鎖,就是總覺得有刁民想害朕楞遏,每次訪問數據的時候都覺得會有別人修改它茬暇,所以每次拿數據時都會上鎖,確保在自己使用的過程中不會被他人訪問寡喝。樂觀鎖就是很單純糙俗,心態(tài)好,所以每次拿數據的時候都不會上鎖预鬓,只是在更新數據的時候去判斷該數據是否被別人修改過巧骚。
大多數的關系數據庫寫入操作都是基于悲觀鎖,缺點在于如果持有鎖的客戶端運行的很慢格二,那么等待解鎖的客戶端被阻塞的時間就越長劈彪。Redis的事務是基于樂觀鎖的機制,不會在執(zhí)行WATCH命令時對數據進行加鎖顶猜,只是會在數據已經被其他客戶端搶先修改了的情況下沧奴,通知執(zhí)行WATCH命令的客戶端。樂觀鎖適用于讀多寫少的情況长窄,因為在寫操作比較頻繁的時候滔吠,會不斷地retry,從而降低性能挠日。

一般來說疮绷,單例模式有五種寫法:懶漢、餓漢嚣潜、雙重檢驗鎖冬骚、靜態(tài)內部類、枚舉郑原。上述所說都是線程安全的實現

public class Singleton{
    //類加載時就初始化
    private static final Singleton instance = new Singleton();
 
    private Singleton(){}
 
    public static Singleton getInstance(){
        return instance;
    }
}
public class Singleton {
    private volatile static Singleton instance; //聲明成 volatile
    private Singleton (){}
 
    public static Singleton getSingleton() {
        if (instance == null) {                         
            synchronized (Singleton.class) {
                if (instance == null) {       
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}
public class Singleton {  
    private static class SingletonHolder {  
        private static final Singleton INSTANCE = new Singleton();  
    }  
    private Singleton (){}  
    public static final Singleton getInstance() {  
        return SingletonHolder.INSTANCE; 
    }  
}
public enum EasySingleton{
    INSTANCE;
}

MySQL的binlog詳解

binlog日志用于記錄所有更新了數據或者已經潛在更新了數據(例如唉韭,沒有匹配任何行的一個DELETE)的所有語句。語句以“事件”的形式保存犯犁,它描述數據更改属愤。
因為有了數據更新的binlog,所以可以用于實時備份酸役,與master/slave復制

ElasticSearch是一個基于Lucene的搜索服務器住诸。它提供了一個分布式多用戶能力的全文搜索引擎驾胆,基于RESTful web接口。Elasticsearch是用Java開發(fā)的贱呐,并作為Apache許可條款下的開放源碼發(fā)布丧诺,是當前流行的企業(yè)級搜索引擎。設計用于云計算中奄薇,能夠達到實時搜索驳阎,穩(wěn)定,可靠馁蒂,快速呵晚,安裝使用方便。

=======================
JVM沫屡,JMM饵隙,GC,反射沮脖,內存相關

多線程金矛,NIO

數據結構與算法

數據庫相關

框架相關,分布式事務

當下熱點

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末勺届,一起剝皮案震驚了整個濱河市驶俊,隨后出現的幾起案子,更是在濱河造成了極大的恐慌免姿,老刑警劉巖废睦,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異养泡,居然都是意外死亡,警方通過查閱死者的電腦和手機奈应,發(fā)現死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門澜掩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人杖挣,你說我怎么就攤上這事肩榕。” “怎么了惩妇?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵株汉,是天一觀的道長。 經常有香客問我歌殃,道長乔妈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任氓皱,我火速辦了婚禮路召,結果婚禮上勃刨,老公的妹妹穿的比我還像新娘。我一直安慰自己股淡,他們只是感情好身隐,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唯灵,像睡著了一般贾铝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上埠帕,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天垢揩,我揣著相機與錄音,去河邊找鬼搞监。 笑死水孩,一個胖子當著我的面吹牛,可吹牛的內容都是我干的琐驴。 我是一名探鬼主播俘种,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绝淡!你這毒婦竟也來了宙刘?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤牢酵,失蹤者是張志新(化名)和其女友劉穎悬包,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體馍乙,經...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡布近,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了丝格。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撑瞧。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖显蝌,靈堂內的尸體忽然破棺而出预伺,到底是詐尸還是另有隱情,我是刑警寧澤曼尊,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布酬诀,位于F島的核電站,受9級特大地震影響骆撇,放射性物質發(fā)生泄漏瞒御。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一神郊、第九天 我趴在偏房一處隱蔽的房頂上張望葵腹。 院中可真熱鬧高每,春花似錦、人聲如沸践宴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阻肩。三九已至带欢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間烤惊,已是汗流浹背乔煞。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留柒室,地道東北人渡贾。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像雄右,于是被迫代替她去往敵國和親空骚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內容

  • MySQL技術內幕:InnoDB存儲引擎(第2版) 姜承堯 第1章 MySQL體系結構和存儲引擎 >> 在上述例子...
    沉默劍士閱讀 7,410評論 0 16
  • 曾有人說過擂仍,人來到這個世上囤屹,全是匆匆的過客。 如果是逢渔,我們愿意在哪一個時代多做一點停留呢肋坚? 春秋戰(zhàn)國時期,適合懷才...
    烽火煤閱讀 193評論 0 0
  • 有人說:友情如酒,經歷的歲月愈久便愈香。還有人說;友情似茶,味道淡而不濃聚蝶,卻沁人心脾,令人久久難忘。 的確,友情對...
    希里i閱讀 292評論 0 0
  • 通過本節(jié)課的學習,您可以: 在桌面創(chuàng)建指向其他分區(qū)文件夾的快捷方式使用任務欄上的跳轉列表獲得一個干凈清爽的桌面 在...
    仔爸在線閱讀 1,751評論 0 2