原创 leetcode434.單詞數目

想法肯定是對空格進行分詞 做分詞之前,必須處理頭尾空格和重複空格 # 434 def countSegments(self, s: str) -> int: import re

原创 TCPTCP三次握手和四次揮手的原因和過程

TCP三次握手和四次揮手的過程 TCP三次握手過程 C->SYN->S S->SYN/ACK->C C->ACK->S 三次握手的原因:三次握手可以防止失效的連接請求報文突然又傳輸到服務器導致服務器資源的浪費。 TCP四次揮手過程

原创 操作系統中斷

操作系統中的中斷 中斷是指CPU對系統發生的某個事件做出的一種反應,CPU暫停正在執行的程序,保存現場後去執行相應的處理程序,處理該事件完成後再返回終端出繼續執行原來的程序。中斷一般分爲三類: 由CPU外部引起的,如IO中斷、時

原创 網絡編程之Epoll

網絡編程之Epoll Linux平臺下使用Epoll進行IO複用的方法,兩種觸發方式:條件觸發和邊緣觸發 Epoll基本原理和過程 使用epoll_create來創建保存epoll文件的內存空間 使用epoll_ctl在上文創建

原创 IP和MAC的作用

IP地址的作用以及MAC地址的作用 MAC地址是一個硬件地址,用來定義網絡設備的位置,主要是數據鏈路層負責。 IP地址是IP協議提供的統一的地址格式,爲互聯網上的每一個網絡和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。

原创 OSI和TCP/IP模型

OSI七層模型和TCP/IP四層模型 OSI七層模型 物理層:通過媒介傳輸比特,確定機械及電氣規範,傳輸單位爲bit 主要協議包括:IEE802.3、CLOCK RJ45 數據鏈路層:將比特組裝成幀,傳輸單位爲幀 主要協議爲:M

原创 B+樹

B+樹 ####### 傳送門 特徵 B+樹是一種樹數據結構,是一個n叉樹,每個節點通常有很多個孩子,一顆B+樹包含根節點、內部節點和葉子節點。B+樹通常用於數據庫和操作系統的文件系統中。B+樹的特點是能夠保持數據穩定有序,其插入

原创 C++之數據結構模擬瀏覽器前進後退的操作

用數據結構模擬瀏覽器前進後退的操作 使用一個數組vector來保存當前頁面的結構內容信息 使用一個索引來表示當前頁面在數組中的索引,便於後退前進 出現新頁面,則向後添加,索引表示到數組尾

原创 HTTP協議、get、post的區別

HTTP協議 協議 HTTP(Hyper Text Tranfer Protocol)超文本傳輸協議的縮寫,適用於萬維網服務器傳輸超文本到本地瀏覽器的傳送協議。 HTTP是一個基於TCP/IP通信協議來傳輸數據。 HTTP是一個屬

原创 TCP連接的過程及原因

TCP三次握手是怎麼樣的 客戶端發送SYN=1,seq=x給服務器 服務器回覆ACK=x+1、SYN=1,seq=y給客戶端 客戶端回覆ACK=y+1給服務器 TCP握收爲什麼兩次不可以,爲什麼不用四次 兩次不可以: TCP是

原创 TCP和UDP的區別及使用場景

TCP和UDP的使用場景 TCP和UDP的區別 TCP是面向連接的傳輸層協議,傳輸數據之前必須先建立連接;UDP是無連接傳輸。 TCP是點對點服務,一條TCP連接只有連個斷點;UDP是多對多連接交互通信。 TCP是可靠連接:無差

原创 數據庫索引

數據庫索引        數據庫索引是數據庫表中一列或多列值進行排序的一種結構,使用索引可以快說訪問數據庫表中的特定信息。        索引的一個主要目的是加快檢索表中數據的方法,也能協助信息搜索者更快得找到符合限制條件的記錄的

原创 server端監聽端口,但是沒有客戶端連接進來,此進程處於什麼狀態

server端監聽端口,但是沒有客戶端連接進來,此進程處於什麼狀態 最普通的Server模型,則處於阻塞狀態;如果使用IO複用中epoll、select等,則處於運行狀態。

原创 inner join和left join、right join

inner join和left join left join(左聯接):返回包括左表中所有的記錄和右表中聯接字段相等的記錄 right join:返回包括右表鍾所有的記錄和左表中聯接字段相等的記錄 inner join:只返回兩個

原创 數據庫的三大範式

數據庫的三大範式 第一範式:當關系模式R的所有屬性都不能再分解爲更基本的數據單位是,稱R是滿足第一範式,即屬性不可分。 第二範式:如果關係模式R滿足第一範式,並且R的所有非主屬性都完全依賴R的每一個候選關鍵屬性,稱R滿足第二範式