原创 Zookeeper專題——1、分佈式事務(a概述)

zookeeper到底是什麼?  zookeeper實際上是yahoo開發的,用於分佈式中一致性處理的框架。最初其作爲研發hadoop時的副產品。由於分佈式系統中一致性處理較爲困難,其他的分佈式系統沒有必要 費勁重複造輪子,故隨後的分佈式

原创 Zookeeper專題——3、分佈式一致性,幾種實現的優缺點

如果是從一致性算法層面講:個人覺得叫容錯分佈式一致性協議更合適,當然這裏容錯倆字很關鍵,而且暗含是通常所說的複製狀態機的強一致性需求(比如線性一致性)。一致性本身是個應用廣泛的概念,比如併發編程、數據庫事務處理、緩存一致性等等。其他很多算

原创 Zookeeper專題——1、分佈式事務(b處理模式)

可參考知乎相關文章,更通俗易懂2PC這種不一致的問題困擾着大家。任意一邊出錯想要回滾另一邊都不是簡單的數據庫回滾的事情( 因爲此時已經成功提交),而是需要做業務的逆向操作,而不同業務的逆操作都不同,導致複雜性增加。考慮數據庫事務的執行實際

原创 搭建RocketMQ

RocketMQ搭建步驟開發環境64位 centos7(虛擬機,1G內存)64位 jdk1.8maven 3.5.0Gittomcat(用於啓動rocketmq-console)rocketmq 3.2.6(最好選擇maven倉庫中已有的

原创 多線程&JVM&鎖相關—樂觀的併發策略——基於CAS的自旋

悲觀者與樂觀者的做事方式完全不一樣,悲觀者的人生觀是一件事情我必須要百分之百完全控制纔會去做,否則就認爲這件事情一定會出問題;而樂觀者的人生觀則相反,凡事不管最終結果如何,他都會先嚐試去做,大不了最後不成功。這就是悲觀鎖與樂觀鎖的區別,悲

原创 多線程&JVM&鎖相關—深入學習java同步器AQS

介紹:AQS(AbstractQueuedSynchronizer類)是一個用來構建鎖和同步器的框架,它在內部定義了一個int state變量,用來表示同步狀態.在LOCK包中的相關鎖(常用的有ReentrantLock、 ReadWri

原创 Zookeeper專題——2、分佈式鎖-基於Zookeeper的分佈式鎖

實現分佈式鎖目前有三種流行方案,分別爲基於數據庫、Redis、Zookeeper的方案,其中前兩種方案網絡上有很多資料可以參考,本文不做展開。我們來看下使用Zookeeper如何實現分佈式鎖。什麼是Zookeeper?Zookeeper(

原创 提綱目錄

面試準備提綱目錄 1.JVM     JVM 是可運行 Java 代碼的假想計算機 ,包括一套字節碼指令集、一組寄存器、一個棧、 一個垃圾回收,堆 和 一個存儲方法域。JVM 是運行在操作系統之上的,它與硬件沒有直接 的交互。(圖) 2.

原创 Zookeeper專題——4、選主過程,腦裂問題如何解決

目前有5臺服務器,每臺服務器均沒有數據,它們的編號分別是1,2,3,4,5,按編號依次啓動,它們的選擇舉過程如下: 服務器1啓動,給自己投票,然後發投票信息,由於其它機器還沒有啓動所以它收不到反饋信息,服務器1的狀態一直屬於Looking

原创 大廠面試核心知識點梳理

轉自:https://maimai.cn/article/detail?fid=1376287358&efid=W5_jYkpsH_eRLg3yD3tFwg 前言: 相信在前不久的金九銀十跳槽季中,有許多同學面試或者跳槽失利的就目前國內的

原创 羊毛

1932969 1220883 1935448 1945884 1497686

原创 獲取當前的spring容器ApplicationContext

方法一:(獲取當前的spring容器,任何java類中適用)           ServletContext application = ServletActionContext.getServletContext();        

原创 線程池:QueuedThreadPool

線程池這個應該是比較重要的一個組件了吧。。。。首先在SelectChannelConnector中,需要建立SelectSet,從而建立selector,而select的執以及I/O的都需要放到線程池中運行,而且需要獨佔的線程。。 而當s

原创 深入理解tair

tair是什麼? Tair是由淘寶網自主開發的Key/Value結構數據存儲系統,在淘寶網有着大規模的應用。在登錄淘寶、查看商品詳情頁面或者在淘江湖和好友“搗漿糊”的時候,都在直接或間接地和Tair交互。 Tair於2010年6月30號在

原创 Jetty源碼閱讀 - ServerConnector

Java NIO模型的關鍵類是ServerSocketChannel SocketChannel Selector這兩個,其中ServerSocketChannel用於創建服務端端口的監聽,且提供了#accept方法用於返回SocketC