原创 STL淺析 RB-tree(紅黑樹)

RB-tree(紅黑樹)是平衡二叉搜索樹。RB-tree滿足二叉搜索樹的規則之外,還遵循以下特性: 每個節點不是紅色就是黑色。 根節點爲黑色。 如果節點爲紅色,其子節點必須爲黑色。 任意一個節點到到NULL(樹尾端)的任何路徑,

原创 Unix網絡編程 I/O模型

Linux的I/O模型阻塞式I/O模型非阻塞式I/O模型I/O複用模型信號驅動式I/O模型異步I/O模型總結和對比 阻塞式I/O模型 默認情況下,所有的套接字都是阻塞式的。 上圖以recvfrom爲例子展示阻塞式I/O。引用程序

原创 MySQL索引的底層實現(MyISAM和InnoDB)

參考:https://www.cnblogs.com/boothsun/p/8970952.html MySQL索引的底層實現(MyISAM和InnoDB)B+樹MyISAM的索引實現InnoDB的索引實現 在MySQL中,索引屬

原创 STL淺析 list

list是一個雙向鏈表,適合插入刪除頻繁的操作。 list的節點 next指向鏈表節點的下一個節點,prev指向前一個節點。data存儲節點數據。 template <class T> struct __list_node {

原创 STL淺析 樹

樹 樹由節點(nodes)和邊(edges)構成。整棵樹有一個最上端節點,稱爲根節點(root)。每個節點可以擁有具有方向性的邊(directed edges),用來和其他節點相連。相連節點之中,在上者稱爲父節點(parent),

原创 高性能mysql 讀書筆記 Schema與數據類型優化

Schema與數據類型優化1.選擇優化的數據類型1.1 整數類型1.2 實數類型1.3 字符串類型1.3.1 varchar和char類型1.3.2 binary和varbinary1.3.3 blob和text類型1.3.4 使

原创 高性能mysql 讀書筆記 MySQL架構

MySQL架構1.MySQL邏輯架構2.併發控制2.1讀寫鎖2.2鎖粒度2.2.1表鎖2.2.2 行級鎖3.MySQL事務3.1事務的ACID3.2 隔離級別3.2.1 不使用隔離級別可能存在的問題3.2.2 隔離級別3.3 死鎖

原创 虛擬機Linux網速慢的解決辦法

每次在虛擬機上裝完Linux網速都很慢,總結一下慢的原因,以防以後忘記。 1.DNS解析慢 現象:ping www.baidu.com命令行過了很久纔出現新信息。而ping 14.215.177.38(百度的IP)立刻更新信息。

原创 Struts2 下載功能以及亂碼問題

下載功能 index.jsp 首先你要有一個按鈕。(我這裏是動態獲取文件,所以有一個num) <button class="btn btn-default" type="button" onclick="downloadfile(

原创 B樹與B+樹

參考: https://www.jianshu.com/p/a858bb15cbf0 https://www.jianshu.com/p/71700a464e97 https://blog.csdn.net/Fmuma/artic

原创 淺談TCP協議

TCP協議TCP的特點TCP報文段的首部格式TCP可靠傳輸的工作原理校驗和確認應答與序列號超時重傳流量控制滑動窗口滑動窗口和TCP首部的一些聯繫(自己的理解)滑動窗口存在的糊塗窗口綜合徵滑動窗口的死鎖問題擁塞控制TCP的擁塞控制方

原创 高性能mysql 讀書筆記 創建高性能的索引

創建高性能的索引1.索引基礎1.1 索引的類型1.1.1 B-Tree索引1.1.2 哈希索引1.1.3 空間數據索引(R-Tree)1.1.4 全文索引1.1.5 其他索引類別2 索引的優點3 高性能的索引策略3.1 獨立的列3

原创 HTTP報文結構

HTTP有兩類報文 (1) 請求報文——從客戶向服務器發送請求報文 (2) 響應報文——從服務器到客戶的回答 請求報文 請求方法有以下幾種: 請求頭部字段名有以下幾種: 響應報文 響應報文的狀態碼: 狀態碼的類別: 1XX

原创 HTTP協議簡介

一.HTTP簡介 HTTP(HyperText Transfer Protocol,超文本傳輸協議 ) 是在 TCP/IP 協議族的基礎上運作的。HTTP 協議和 TCP/IP 協議族內的其他衆多的協議相同,用於客戶端和 服務器之

原创 數據庫鎖分類和總結

數據庫鎖分類和總結鎖的分類按粒度分類表級鎖行級鎖頁級鎖按鎖級別分類共享鎖(S鎖)排他鎖(X鎖)按加鎖方式分類自動鎖顯式鎖按操作分類DML鎖DDL鎖按使用方式分類悲觀鎖樂觀鎖 鎖的分類 按粒度分類: 表級鎖 行級鎖 頁級鎖 按鎖