原创 事務隔離級別底層的鎖以及InnoDB的事務隔離級別實現

文章目錄事務隔離級別底層的鎖以及InnoDB的事務隔離級別實現事務隔離級別底層的鎖先來說一下MVCCInnoDB事務隔離級別的實現記錄鎖(普通的行鎖)間隙鎖臨鍵鎖爲什麼可重複讀和已提交讀都使用了MVCC,但是可重複讀解決了幻讀,但

原创 MySQL數據庫事務以及事務隔離級別

文章目錄數據庫事務以及事務隔離級別MySQL數據庫事務事務的特性事務的隔離級別 數據庫事務以及事務隔離級別 MySQL數據庫事務 數據庫事務( transaction)是訪問並可能操作各種數據項的一個數據庫操作序列,這些操作要麼全

原创 數據庫索引的創建和使用

文章目錄數據庫索引創建索引使用場景 數據庫索引 數據庫的索引可以加快查詢速度,原因是索引使用特定的數據結構(B-Tree)對特定的列額外組織存放,加快存儲引擎(索引是存儲引擎實現)查找記錄的速度。 索引優化是數據庫優化的最重要手段

原创 深入瞭解數據庫存儲引擎

深入瞭解數據庫存儲引擎 數據庫存儲引擎 MySQL中索引屬於存儲引擎級別的概念,不同存儲引擎對索引的實現方式是不同的。 一、MyISAM MyISAM引擎是MySQL5.5.8版本之前默認的存儲引擎,不支持事物,支持全文檢索,使用

原创 鏈表轉紅黑樹是鏈表長度達到閾值,爲什麼閾值爲8?不是其他數字

鏈表轉紅黑樹是鏈表長度達到閾值,爲什麼閾值爲8?不是其他數字 鏈表轉紅黑樹是鏈表長度達到閾值是8,紅黑樹轉鏈表閾值爲6。 因爲經過計算,在hash函數設計合理的情況下,發生hash碰撞8次的機率爲百萬分之6,用概率證明。因爲8夠用

原创 深入瞭解Java虛擬機(內存管理)

深入瞭解Java虛擬機(內存管理) 文章目錄深入瞭解Java虛擬機(內存管理)JDK、JRE與JVM之間的關係:JVM的內存管理程序計數器虛擬機棧(線程棧)本地方法棧方法區堆對象頭 JDK、JRE與JVM之間的關係: JDK全稱爲

原创 B-Tree(B-樹)底層原理

B-Tree(B-樹) 基本搜索結構 以上結構適合用於數據量不是很大的情況,如果數據量非常大,一次性無法加載到內存中,使用上述結構就不是很方便 B-樹概念 一種適合外查找的樹,它是一種平衡的多叉樹,稱爲B樹(B-樹")。一棵M階

原创 B+樹和B*樹的底層實現原理以及與b-樹的區別

B+樹和B*樹的底層實現原理以及與b-樹的區別 B+樹 B+樹是B-樹的變形,也是一種多路平衡樹: 其定義基本與B-樹相同,除了: 非葉子節點的子樹指針與關鍵字個數相同 非葉子節點的子樹指針p[i],指向關鍵字值屬於(k[i],

原创 B-Tree(B樹)插入實現以及B樹性能

B-Tree(B樹)插入實現以及B樹性能 插入過程: 如果樹爲空,直接插入新節點中,該節點爲樹的根節點 樹非空,找待插入元素在樹中的插入位置(注意:找到的插入節點位置一定在葉子節點中) 檢測是否找到插入位置(假設樹中的key唯一

原创 紅黑樹底層原理以及實現

紅黑樹 文章目錄紅黑樹紅黑樹概念紅黑樹的性質紅黑樹節點的定義紅黑樹的插入(重點)AVL樹和紅黑樹的比較紅黑樹應用 紅黑樹概念 紅黑樹,是一種二叉搜索樹,但在每個結點上增加一個存儲位表示結點的顏色,可以是Red或Black。 通過對

原创 Servlet Session

文章目錄Servlet Session代碼示例session持久化 Servlet Session session概念 定義: session 是存儲在服務器上的文本文件,並保留了用戶的各種跟蹤信息 作用: 會話保持,如完成用戶的

原创 解決哈希衝突兩種常見的方法是:閉散列和開散列

文章目錄解決哈希衝突兩種常見的方法是:閉散列和開散列閉散列開散列/哈希桶代碼實現哈希桶性能分析 解決哈希衝突兩種常見的方法是:閉散列和開散列 閉散列 閉散列:也叫開放定址法,當發生哈希衝突時,如果哈希表未被裝滿,說明在哈希表中必然

原创 HashMap底層實現原理(增刪查改)

文章目錄HashMap底層實現原理(增刪查改)HashMap的構造方法put方法根據key獲取value刪除key HashMap底層實現原理(增刪查改) HashMap的構造方法 注意: 不同於Java7中的構造方法,Java8

原创 Java的二叉搜索樹

文章目錄Java的二叉搜索樹概念查找插入刪除代碼實現二叉搜索樹 Java的二叉搜索樹 概念 二叉搜索樹又稱二叉排序樹,它或者是一棵空樹,或者是具有以下性質的二叉樹: 若它的左子樹不爲空,則左子樹上所有節點的值都小於根節點的值 若它

原创 數據鏈路層(以太網、MTU、ARP協議)

文章目錄數據鏈路層認識以太網以太網幀格式MTUARP協議 數據鏈路層 認識以太網 "以太網" 不是一種具體的網絡, 而是一種技術標準; 既包含了數據鏈路層的內容, 也包含了一些物理層的內容. 例如: 規定了網絡拓撲結構, 訪問控制