原创 數據庫相關知識整理(二)

索引 索引的本質上是一個存儲列值的數據結構。如果在某列上使用了 B-樹索引,那麼這些列值在索引中是被排過序的,有序的值是索引能提高查詢性能的主要原因。 索引的優點和缺點 優點: 通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性。

原创 數據庫相關知識整理(三)

數據庫事務 四個特性ACID 事務(Transaction)是由一系列對系統中數據進行訪問與更新的操作所組成的一個程序執行邏輯單元。事務是DBMS中最基礎的單位,事務不可分割。 事務具有4個基本特徵,分別是:原子性(Atomicity)、

原创 數據庫相關知識整理(一)

數據庫範式 第一範式:屬性不可再分 即表中的列的具有原子性,不可再分解,即列的信息,不能分解, 只要數據庫是關係型數據庫(MySQL/oracle/db2 /SQL server),就自動的滿足 1NF。 數據庫表的每一列都是不可分割的原

原创 操作系統相關知識整理(一)

存儲管理 程序的裝入和鏈接 用戶程序要在系統中運行,必須先將它裝入內存,然後再將其轉變爲一個可以執行的程序,通常都要經過以下幾個步驟: 1)編譯,由編譯程序將用戶源代碼編譯成若干個目標模塊。 2)鏈接,由鏈接程序將編譯後形成的一組目標模塊

原创 操作系統相關知識整理(二)

進程和線程 進程空間 Linux 對進程地址空間有個標準佈局,地址空間中由各個不同的內存段組成 (Memory Segment),主要的內存段如下: - 程序段 (Text Segment):可執行文件代碼的內存映射 - 數據段 (Dat

原创 操作系統相關知識整理(三)

用戶模式和內核模式 處理器必須提供一種機制,限制一個應用可以執行的指令以及它可以訪問的地址空間範圍。處理器通常是用某個控制寄存器中的一個模式位(mode bit)來提供這種功能的,該寄存器描述了進程當前享有的特權。 設置了模式位:進程就運

原创 select poll 和 epoll

Epoll使用高速cache內存池,紅黑樹和雙端鏈表實現,epoll_create創建紅黑樹,epoll_ctl對紅黑樹做增刪改,事件觸發後回調函數將觸發事件的節點放入就緒鏈表,並喚醒epoll_wait。 select 函數原型 in

原创 計算機網絡相關知識整理(三)

傳輸層 UDP協議 總結:UDP把IP數據報包了一層,加了端口和校驗和,提供差錯檢測 UDP數據報分爲首部和用戶數據部分,整個UDP數據報作爲IP數據報的數據部分封裝在IP數據報中,UDP數據報文結構如圖所示: UDP首部有8個字節,由

原创 計算機網絡相關知識整理(五)

應用層 http協議 http請求報文 第一部分:請求行,用來說明請求類型(POST),要訪問的資源以及所使用的 HTTP 版本。 第二部分:請求頭部,緊接着請求行(即第一行)之後的部分,用來說明服務器要使用的附加信息(Content-

原创 計算機網絡相關知識整理(二)

網絡層 ARP協議 總結:先查緩存表,再廣播,不在同一網段找網關。 ARP 是一種能夠實現 IP 地址到物理地址的轉化協議,以目標地址爲線索用來定義下一位應該接收數據分包的網絡設備對應的 MAC 地址,如果目標主機不在同一個數據鏈路層的話

原创 計算機網絡相關知識整理(四)

應用層 DNS協議 總結:先查瀏覽器緩存,再查系統緩存,路由器緩存,ISP,根域名服務器。遞歸查詢就是交給別人辦,迭代查詢就是自己辦,TCP和UDP都使用,報文長度大於512B使用TCP。   爲什麼需要 DNS 解析域名爲 IP 地址

原创 計算機網絡相關知識整理(一)

網絡層 ICMP協議 總結:ICMP報文包括查詢報文和差錯報文。ping命令發送回送請求報文,接受回送應答報文。traceroute命令發送回送請求報文,起初將TTL設爲1,接受到超時報文後每次增加1 ICMP全程Internet Con

原创 計算機網絡相關知識整理(六)

傳輸層 TCP協議 TCP報文格式 標誌位     URG(URGENT POINTER):指示報文中有緊急數據,應儘快傳送(相當於高優先級的數據)。     PSH   (PUSH):爲1表示是帶有push標誌的數據,指示接收方在接收

原创 C語言筆記 信號量sem_t

頭文件 #include <semaphore.h> sem_init int sem_init(sem_t *sem, int pshared, unsigned int value); sem_init() 初始化一個定位在 se

原创 從零開始開發C++高性能服務器框架 學習筆記(三)線程模塊

本文是我對B站教學視頻 [C++高級教程]從零開始開發服務器框架(sylar) 的學習筆記。 這個視頻up講得非常好,我從中學到了很多。以下是他的視頻鏈接: https://www.bilibili.com/video/av5360263