原创 MySQL學習筆記事務篇:redo日誌

目錄 預寫式日誌 bin log binlog和事務日誌的先後順序及group commit redo log 不適用零拷貝技術的原因 日誌塊(log block) redo log的格式 日誌刷盤的規則 數據頁刷盤的規則及checkpo

原创 Executor多線程框架學習筆記(五):FutureTask

FutureTask ScheduledThreadPoolExecutor裏面用到了FutureTask,提前將對其進行講述 public class FutureTask<V> implements RunnableFuture<V

原创 開發日記:使用Lombok插件@Bulider註解和mybaits查詢結果注入的衝突

Lombok插件讓開發變得更便捷,也帶來了很多潛在的問題,如果不去了解Lombok插件的工作過程,就可能會出現很多難以預料的問題。 在xml中創建一個mybatis的簡單查詢: <select id="queryElectronS

原创 劍指offer:棧的壓入、彈出序列

輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能爲該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5,1,2就

原创 LeetCode:96 不同的二叉搜索樹

給定一個整數 n,求以 1 ... n 爲節點組成的二叉搜索樹有多少種? n = 3時,有5種    1         3       3       2      1     \       /        /         /

原创 JVM 發生 OOM 的 8 種原因、及解決辦法

目錄 堆內存不足  原因 解決方法 永久代/元空間溢出 原因  解決方法 GC overhead limit exceeded 原因 解決方法 方法棧溢出 原因 解決方法 非常規溢出 分配超大數組 swap區溢出 本地方法溢出 擼Java

原创 MySQL學習筆記索引篇:索引基本原理

目錄 硬盤讀寫過程 數據庫加載數據的過程 塊與頁 索引基本原理 索引的優點 索引的種類 聚簇索引 非聚簇索引 硬盤讀寫過程 確定磁盤地址(柱面號,磁頭號,扇區號),內存地址(源/目):        當需要從磁盤讀取數據時,系統會將數據邏

原创 Clean Code隨筆

文章目錄命名將代碼規範和java面向對象的特性結合起來函數短小,更短小每個函數一個抽象層級自頂向下讀代碼:向下規則函數參數函數名稱應該體現出函數的所有功能,否則會因爲時序性耦合導致一些副作用使用異常替代返回錯誤碼1. 錯誤處理代碼

原创 TCP優化學習筆記(一)

TCP協議存在的問題 TCP三次握手增加了整整一次的往返時間; TCP慢啓動被應用到每一次的新連接; TCP流量及擁塞控制會影響所有連接的吞吐量。 TCP的吞吐量由當前擁塞窗口大小確定。 現代高速網絡中的TCP連接的數據傳輸速度受到接收端

原创 劍指offer:將二叉搜索樹轉變成雙向鏈表

輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表。要求不能創建任何新的結點,只能調整樹中結點指針的指向。 思路:手動寫一顆二叉搜索樹,發現中序遍歷的結果是有序的,那麼將中序遍歷的結果保存起來,然後遍歷結果集合, 更改樹節點的指向

原创 劍指offer:二叉樹中和爲某一值的所有路徑

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

原创 劍指offer:數組中出現次數超過一半的數字

 數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字。例如輸入一個長度爲9的數組{1,2,3,2,2,2,5,4,2}。由於數字2在數組中出現了5次,超過數組長度的一半,因此輸出2。如果不存在則輸出0。 解題思路: 如果有符合條

原创 TCP優化學習筆記(二):參數調優

目錄 TCP 的三次握手 狀態解釋 TCP 四次揮手 狀態解釋 參數調優 TCP連接優化 time-wait調優:減少time-wait 參數說明: 長連接 Nginx TCP配置優化 tcp_nodelay  tcp_nopush se

原创 自旋鎖、排隊自旋鎖、MCS鎖、CLH鎖

目錄 自旋鎖 TICKET LOCK MCS鎖 CLH鎖 CLH鎖 與 MCS鎖 的比較 驚羣效應 自旋鎖 自旋鎖是指當一個線程嘗試獲取某個鎖時,如果該鎖已被其他線程佔用,就一直循環檢測鎖是否被釋放,而不是進入線程掛起或睡眠狀態。 自旋鎖

原创 操作系統學習筆記(一)

文章目錄進程和線程進程的常見狀態以及狀態轉換線程的狀態和轉換進程同步進程的通信方式有哪些?多線程互斥和同步臨界資源Semaphore(信號量) Vs Mutex(互斥鎖)進程和線程的關係進程與線程的區別進程上下文切換和線程上下文切