原创 (P4)Linux開發工具—Makefile下

文章目錄1.make常用內嵌函數2.多級目錄Makefile 1.make常用內嵌函數 函數調用 $(function arguments) (1)$(wildcard PATTERN) 當前目錄下匹配模式的文件 eg:

原创 (P12)socket編程(七)

文章目錄1.TCP 11種狀態,連接建立三次握手,連接終止四次握手2.TIME_WAIT與SO_REUSEADDR3.SIGPIPE 1.TCP 11種狀態,連接建立三次握手,連接終止四次握手 還有一種狀態是closing:產生

原创 (P16)socket編程(六)

文章目錄1.TCP回射客戶/服務器2.TCP是個流協議3.僵進程與SIGCHLD信號 1.TCP回射客戶/服務器 TCP客戶/服務器程序 (1)TCP是基於流的,消息與消息之間是沒有邊界的,我們不能假定一次讀操作就返回了整個消

原创 (P13)socket編程(八)

文章目錄1.物種I/O模型2.select3.用select改進回射客戶端程序 1.物種I/O模型 (1)阻塞IO 1)一遞交讀操作,讀操作就阻塞了,直到對方有數據到來; 2)將套接口接收緩衝區拷貝到用戶空間緩衝區buff中,拷

原创 後端開發學習目錄

文章目錄Markdown常用語法一、面試二、編程語言1.C/C++(1)C和C++進階的學習筆記總結目錄(2)Linux系統編程(3)C語言開源項目(4)C++開源項目(5)Linux運維2.java3.python4.數據結構與

原创 實操strace

文章目錄1.strace簡介2.strace的2種用法3.strace使用案例4.五種利用strace查故障的簡單方法5.strace解決高負載服務器的top6.linux下的調試工具ltrace與strace 1.strace簡

原创 (P14)socket編程(九)

文章目錄 單核CPU是不可以並行處理; select是併發服務器,對於多核CPU而言,select是無法充分利用的,除非使用多進程select,或者多線程select (1)關注前三個 對等方發數據過來,填充了套接口緩衝區; 對方

原创 (P10)socket編程(五)

文章目錄 man recv read函數可以用於任何io,recv只能用於套接口io recv函數比read函數多了個flag,該flag可以指定接收的行爲,比較有用的2個選項是: (1)MSG_OOB:指定接收帶外數據,也就是通

原创 mount系統調用初探

文章目錄1.mount系統調用2.mount的flags和data3.Linux系統調用-- mount/umount函數詳解 1.mount系統調用 但是註冊一個文件系統後不代表這個文件系統就被馬上使用了,就像你註冊了一個賬

原创 (P9)socket編程四

文章目錄1.流協議與粘(nian)包2.粘包產生的原因4.粘包處理方案5.readn,writen6.回射客戶/服務器 1.流協議與粘(nian)包 tcp是基於字節流的傳輸服務(字節流是無邊界的),像流水一樣,無法區分邊界,

原创 Leetcode高頻題目

文章目錄1.動態規劃2.堆3.二叉樹4.二分查找5.廣度優先搜索6.哈希表7.回溯算法8.鏈表9.設計10.深度優先搜索11.數學12.數組13.貪心算法14.位運算15.字符串 1.動態規劃 2.堆 3.二叉樹 4.二分查

原创 (P8)socket編程三

文章目錄 服務器端處於TIME_WAIT端是無法bind地址的 在TIME_WAIT狀態還未消失的時候,就允許他重啓 服務器端處理多個客戶端連接 父進程用來接收客戶端的連接 子進程處理與客戶端的通信細節 服務端分爲:監聽

原创 (P7)socket編程二

文章目錄1.TCP客戶/服務端模型2.回射客戶/服務器3.socket,bind,listen,accept,connect 1.TCP客戶/服務端模型 任何一方都可以調用close函數進行終止,相當於發送EOF 2.回射客

原创 查看硬盤狀態和Linux下對LVM邏輯卷分區大小調整

文章目錄1.查看磁盤(硬盤)的狀態2.Linux下對LVM邏輯卷分區大小調整 [針對xfs和ext4文件系統] 1.查看磁盤(硬盤)的狀態 執行lsscsi查看所有可插拔設備(偏底層) [0:0:3:0] disk

原创 (P6)socket編程一

文章目錄 應用層Application 傳輸層:TCP,UDP 網絡層:IP,路由器工作在網絡層 數據鏈路層:Channel,eg以太網鏈路 解封裝: 以太網接收到數據幀要向上層傳遞,會依據數據幀中的類型字段進行傳遞 ,如果是