原创 Mysql常見的幾種log

什麼是binlog binlog記錄了數據庫表結構和表數據變更,比如update/delete/insert/truncate/create。它不會記錄select(因爲這沒有對錶沒有進行變更) 主要有兩個作用: 複製和恢復數據

原创 kafka啓動之後秒退的原因

前言 最近在學習kafka的過程中遇到許多的坑,啓動成功後在新建topic時一直報brokers爲0,超過的副本數,重新查看了一下進程後,發現kafka進程掛掉了。 秒退的原因分析 查看了一下kafka bin目錄下的啓動

原创 Dubbo支持哪些協議,每種協議的應用場景,優缺點

dubbo: 單一長連接和NIO異步通訊,適合大併發小數據量的服務調用,以及消費者遠大於提供者。傳輸協議TCP,異步,Hessian序列化; rmi: 採用JDK標準的rmi協議實現,傳輸參數和返回參數對象需要實現Seriali

原创 java基礎四

runnable 和 callable 有什麼區別? Runnable 接口 run 方法無返回值;Callable 接口 call 方法有返回值,支持泛型 Runnable 接口 run 方法只能拋出運行時異常,且無法捕獲處

原创 ArrayList擴容與縮容機制

ArrayList集合類是我們面試中經常被問到的一個問題,類似的有ArrayList與LinkedList的區別之類的,而ArrayList與LinkedList的主要區別在於其數據結構的不同,ArrayList的底層是數據類型,

原创 Collections.同步方法和copyonwriteArrayList

List實現線程安全,在java中我找到自帶有兩種方法,一種是通過Collections.synchronizedList()方法,另一種是copyonwriteArrayList代替ArrayList; Collections方

原创 Mysql存儲引擎——MyIASM和Innodb的區別

InnoDB和MyISAM的最大不同點有兩點:一是支持事務(TRANSACTION);二是採用了行級鎖 MyIASM是MySQL5.1以前默認的引擎,但是它沒有提供對數據庫事務的支持,也不支持行級鎖和外鍵,因此當INSERT(插入

原创 二分查找和二叉樹查找的區別

關於二分查找和二叉樹的理解: (1)二分查找即折半查找,優點是比較次數少,查找速度快,平均性能好;其缺點是要求待查表爲有序表,且插入刪除困難 (2)二叉查找樹,它或者是一棵空樹,或者若它的左子樹不空,則左子樹上所有結點的值均小於它

原创 Mysql主鍵索引與非主鍵索引區別

什麼是索引 MySql官方索引的定義:索引(Index)是幫助MySql高效獲取數據的數據結構,索引的目的在於提高查詢效率,類比字典;實際上索引也是一張表,該表保存了主鍵與索引字段,並指向實體表的記錄,索引列也是要佔用空間。

原创 分佈式事務解決方案之可靠消息最終一致性

什麼是可靠消息最終一致性事務 可靠消息最終一致性方案是指當事務發起方執行完成本地事務後併發出一條消息,事務參與方(消息消費者)一定能 夠接收消息並處理事務成功,此方案強調的是隻要消息發給事務參與方最終事務要達到一致。 此方案是利用

原创 分佈式事務解決方案之2PC(兩階段提交)

概述 學習了分佈式事務的基礎理論,以理論爲基礎,針對不同的分佈式場景業界常見的解決方案有2PC、TCC、可靠消息最終一致性、最大努力通知這幾種。 什麼是2PC 2PC即兩階段提交協議,是將整個事務流程分爲兩個階段,準備階段(Pre

原创 redis緩存的擊穿、穿透、雪崩

緩存擊穿 緩存在某個時間點過期的時候,恰好在這個時間點對這個Key有大量的併發請求過來,這些請求發現緩存過期一般都會從後端DB加載數據並回設到緩存,這個時候大併發的請求可能會瞬間把後端DB壓垮。 解決方法:利用redis增加一個分

原创 redisson源碼解析

概述 上一篇講到分佈式鎖的實現方式主要有zookeeper,redis,mysql三種方式,而redis使用最爲廣泛,但手工利用redis去實現存現許多需要考慮的問題,如死鎖,誤刪,可重入等問題,手工實現不僅繁瑣,並且可能會遺漏,

原创 Linux文件打包與解壓縮

一、概念 在 Windows 上最常見的不外乎這兩種 .zip,.7z 後綴的壓縮文件。而在 Linux 上面常見的格式除了以上兩種外,還有 .rar,.gz,.xz,.bz2,.tar,.tar.gz,.tar.xz,*.tar

原创 Dubbo集羣提供的負載均衡策略

Random LoadBalance: 隨機選取提供者策略,有利於動態調整提供者權重。截面碰撞率高,調用次數越多,分佈越均勻; RoundRobin LoadBalance: 輪循選取提供者策略,平均分佈,但是存在請求累積的問題