原创 詳解Java中的異常(Error與Exception)

https://blog.csdn.net/qq_29229567/article/details/80773970

原创 如何自己設計一個類似dubbo的rpc框架?

面試題剖析 所以我給大家一個建議,遇到這類問題,起碼從你瞭解的類似框架的原理入手,自己說說參照dubbo的原理,你來設計一下,舉個例子,dubbo不是有那麼多分層麼?而且每個分層是幹啥的,你大概是不是知道?那就按照這個思路大致說一下吧,起

原创 分佈式系統中接口的接口的冪等性如何保證?接口的調用如何保證順序性?

1.分佈式服務接口的冪等性如何設計(比如不能重複扣款)?   所謂冪等性,就是說一個接口,多次發起同一個請求,你這個接口得保證結果是準確的,比如不能多扣款,不能多插入一條數據,不能將統計值多加了1。這就是冪等性,不給大家來學術性詞語了。

原创 BIO/NIO/AIO(總結版)

1.前言 相信大家在網上看過不少講解 BIO/NIO/AIO 的文章,文章中舉起栗子來更是夯喫夯喫一大堆,我是越看越覺得 What are you 你講啥嘞? 本文將針對 BIO/NIO/AIO 、阻塞與非阻塞、同步與異步等特別容易混淆的

原创 我是這樣理解HTTP和HTTPS區別的

http協議的缺點 通信使用明文,內容可能被竊聽(重要密碼泄露) 不驗證通信方身份,有可能遭遇僞裝(跨站點請求僞造) 無法證明報文的完整性,有可能已遭篡改(運營商劫持) 用https能解決這些問題麼? https是在http協議基礎上加入

原创 zookeeper的使用場景?

大致來說,zk的使用場景如下,我就舉幾個簡單的,大家能說幾個就好了: (1)分佈式協調:這個其實是zk很經典的一個用法,簡單來說,就好比,你A系統發送個請求到mq,然後B消息消費之後處理了。那A系統如何知道B系統的處理結果?用zk就可以實

原创 分庫分表學習

1.爲什麼要分庫分表? 分庫分表是兩個不同的概念,分表是爲了避免單表的數據量太大,執行SQL時影響語句的執行性能;分庫主要是爲了提高系統的併發量。單個庫的併發量最好維持在(1000)左右。 2.數據庫如何拆分? 垂直拆分:例如一張表有1

原创 Git學習筆記(一)

Git管理文件夾的步驟: 1.進入要管理的文件夾(進入到文件夾) 2.初始化(提名)git bash here  ------>       git init  讓git管理當前的文件夾 3.管理文件 git status: 查看當前目錄

原创 分庫分表學習(二)

現在有一個未分庫分表的系統,未來要分庫分表,如何設計纔可以讓系統從未分庫分表動態切換到分庫分表上? 這個是我們常用的一種遷移方案,比較靠譜一些,不用停機,不用看北京凌晨4點的風景 簡單來說,就是在線上系統裏面,之前所有寫庫的地方,增刪改操

原创 分佈式鎖怎麼實現?

用Zookeeper實現分佈式鎖其實就是創建一個臨時節點:如果臨時節點之前不存在,則臨時節點創建成功,則這把鎖屬於你了。 此時有其他人去創建同名的臨時節點,如果已經存在了,說明別人已經佔有了這把鎖,你就失敗了,這時候就對那個臨時節點註冊一

原创 HTTP1.1 HTTP 2.0主要區別

多路複用 HTTP2.0使用了多路複用的技術,做到同一個連接併發處理多個請求,而且併發請求的數量比HTTP1.1大了好幾個數量級。 當然HTTP1.1也可以多建立幾個TCP連接,來支持處理更多併發的請求,但是創建TCP連接本身也是有開銷的

原创 TCP粘包、拆包與通信協議

在TCP編程中,通常Sever端與Client通信時的消息都有着固定的消息格式,稱之爲協議(protocol),例如FTP協議、Telnet協議等,有的公司也會自己開發協議。 那麼協議到底是幹什麼的呢?說白了,協議了就是定義了數據通信的格

原创 什麼是循環依賴?spring如何解決?

循環依賴其實就是循環引用,也就是兩個或兩個以上的bean互相持有對方,最終形成閉環。比如A依賴於B,B依賴於C,C又依賴於A。 構造參數循環依賴    

原创 二叉樹中和爲某一值的路徑

題目:輸入一顆二叉樹的根節點和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。路徑定義爲從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,數組長度大的數組靠前) 解題思路: 採用一種“減法”

原创 最長連續序列

給定一個未排序的整數數組,找出最長連續序列的長度。 要求算法的時間複雜度爲 O(n)。 示例: 輸入: [100, 4, 200, 1, 3, 2] 輸出: 4 解釋: 最長連續序列是 [1, 2, 3, 4]。它的長度爲 4。 原文鏈接