原创 Java集合源碼—HashMap

HashMap源碼分析 1.概述 HashMap是一種基於哈希算法的散列查找集合.其實現方式主要是數組+鏈表. 其存儲鍵值對, 並根據鍵的哈希值作運算進行鍵值對的存儲和查詢. 當一個鍵的hash值與另一個鍵的hash值做運算後得到

原创 Spring知識點總結

Spring Spring是一個java企業級應用開源開發框架. Spring主要用來開發Java應用, 有些擴展是針對構建J2EE平臺的web應用. spring框架目標是簡化Java企業級應用開發,提供全面的企業應用開發一站式

原创 操作系統—CPU調度與內存管理

CPU調度與內存管理 1.CPU調度算法 1>先來先服務調度算法 (FCFS): 就是按照各個作業進入系統的自然次序來調度作業. 這種調度算法的優點是實現簡單, 公平. 其缺點是沒有考慮到系統中各種資源的綜合使用情況, 往往使短作

原创 Redis—持久化

Redis持久化 Redis是一個鍵值對數據庫服務器, 並且是一個內存數據庫, 它將自己的數據庫狀態儲存在內存裏面, 如果不想辦法將數據庫狀態保存在磁盤裏面, 那麼一旦進程退出, 服務器中的數據庫狀態也會消失不見 1.RDB持久化

原创 操作系統—進程線程

操作系統—進程線程 1.進程和線程的區別 進程是系統進行資源分配和調度一個獨立單位, 最小的資源管理單位. 線程是進程的一個實體, 是CPU調度和分派的基本單位, 它是比進程更小的能獨立運行的基本單位, 最小的CPU執行單

原创 排序算法—八大排序

八大排序算法 1.冒泡排序 冒泡排序是一種交換排序, 就是兩兩比較待排序的元素, 若次序不滿足要求則交換, 知道整個數組有序 基本思想 : 每次找到最大或最小值, 然後放到首位或最後一位 對於長度爲n 的數組, 因爲只需要找到n-

原创 Java集合源碼—LinkedList

LinkedList源碼分析 1.LinkedList概述 LinkedList底層是一個雙鏈表(非循環), 是一個直線型的鏈表結構 因爲實現方式是鏈表, 所以在插入或刪除時的效率較高, 但是因爲其內存空間並不一定連續, 遍歷時

原创 Redis—數據庫

Redis數據庫 1.服務器中的數據庫 Redis服務器將所有數據庫都保存在服務器狀態redis.h/redisServer結構的db數組中, db數組的每個項都是一個redis.h/redisDb結構, 每個redisDb結構代

原创 Redis—五大對象

Redis五大對象 在前面我們學習了Redis中的數據結構, 但是Redis並沒有直接使用這些數據結構來實現鍵值對數據庫, 而是基於這些數據結構創建了一個對象系統. 這個系統包括了字符串對象, 列表對象, 哈希對象, 集合對象和

原创 Java集合源碼—ArrayList

ArrayList源碼分析 1.ArrayList概述 ArrayList是Java中常用的集合之一, 其底層實現是數組.因爲數組在內存空間中是連續的, 所以他的特點就是查找數據快, 但因爲插入和刪除元素都需要移動其他元素的位置,

原创 InnoDB事務

InnoDB事務 1.事務概述 事務是數據庫區別於文件系統的重要特徵之一. 事務會把數據庫從一種一致狀態轉換爲另一種一致狀態. 數據庫提交工作時, 可以確保要麼所有修改都已經保存了, 要麼所有修改都不保存 InnoDB存儲引擎中的

原创 計算機網絡—HTTP

HTTP協議 1.HTTP簡介 HTTP–Hyper Text Transfer Protocol,超文本傳輸協議,是一種建立在TCP上的無狀態連接,整個基本的工作流程是客戶端發送一個HTTP請求,說明客戶端想要訪問的資源和請求的

原创 計算機網絡—DNS協議

DNS協議 1.DNS定義 DNS(Domain Name System)是"域名系統"的英文縮寫, 是一種組織成域層次結構的計算機和網絡服務命名系統. 其實就是將我們常用的域名轉化爲IP地址,供我們訪問 2.DNS體系架構 1

原创 InnoDB索引

InnoDB索引 1.InnoDB存儲引擎索引概述 InnoDB存儲引擎支持以下幾種常見的索引 : B+樹索引 全文索引 哈希索引 InnoDB存儲引擎支持的哈希索引是自適應的, InnoDB存儲引擎會根據表的使用情況自動爲表

原创 InnoDB鎖

InnoDB鎖 鎖是數據庫系統區別於文件系統的一個關鍵特性, 鎖機制用於**管理對共享資源的併發訪問.**InnoDB存儲引擎會在行級別上對錶數據上鎖, 也會在數據庫其他地方使用鎖, 從而允許對多種不同資源提供併發訪問. 例如,