原创 c/c++:文件IO(Linux系統IO、C標準庫IO、標準C 庫IO和 Linux系統IO的關係、虛擬地址空間、文件描述符表和文件描述符、dup,dup2,fcntl函數)

目錄 一、Linux系統IO和C標準庫IO 1.1 標準C庫IO函數 1.2 標準C 庫IO和 Linux系統IO的關係 二、 虛擬地址空間 三、文件描述符表和文件描述符 6.1 dup和dup2函數 dup  複製文件描述符 dup2 

原创 c++:類型轉換(靜態轉換[static_cast]、動態轉換[dynamic_cast]、常量轉換[const_cast]、重新解釋轉換[reinterpret_cast])

    無論什麼原因,任何一個程序如果使用很多類型轉換都值得懷疑. 目錄 一、靜態轉換(static_cast) 二、動態轉換(dynamic_cast) 三、常量轉換(const_cast) 四、重新解釋轉換(reinterpret

原创 c++:STL函數對象、謂詞、內建函數對象、函數適配器

目錄  一、函數對象 二、謂詞 三、內建函數對象 四、函數適配器 4.1 函數對象適配器 4.2 取反適配器 4.3 函數指針適配器 4.4 成員函數適配器      一、函數對象 重載函數調用操作符的類,其對象常稱爲函數對象(funct

原创 c學習筆記:內存(普通局部變量、普通全局變量、靜態局部變量、靜態全局變量、普通函數與靜態函數、內存的分區、動態申請堆區空間、函數內部給外部指針變量申請空間 )

目錄 知識點1:普通局部變量、普通全局變量、靜態局部變量、靜態全局變量 普通局部變量 普通全局變量 靜態局部變量(static修飾的局部變量) 靜態全局變量 普通函數 與 靜態函數(加static修飾) 知識點2:內存的分區詳解 知識點3

原创 c學習筆記:數組指針的定義方式

    1、先定義出數組的類型,再通過類型定義出數組指針 void test01() { int arr[5] = { 1, 2, 3, 4, 5 }; typedef int(ARRAY_TYPE)[5]; //ARRAY_TY

原创 C++ :多態(類型轉換及問題、虛函數、C++如何實現動態綁定、多態成立的條件、抽象基類和純虛函數、虛析構函數)

多態是面向對象程序設計語言中數據抽象和繼承之外的第三個基本特徵。 目錄 一、類型轉換及問題 1.2 問題解決思路 1.3 問題解決方案(虛函數,vitual function) 二、C++如何實現動態綁定 三、多態成立的條件 四、抽象基類

原创 c/c++:UDP(udp通信、廣播、組播),本地套接字

目錄 1. udp 1.1 udp通信流程 1.2 操作函數 send、sendto recv、recvfrom 2. 廣播 2.1 廣播通信流程 2.2 設置廣播屬性函數:setsockopt 2.3 廣播代碼 3 組播 3.1 組播地

原创 c/c++:線程同步(互斥鎖、死鎖、讀寫鎖、條件變量、生產者和消費者模型、信號量)

目錄 1. 概念 2. 互斥鎖 3. 死鎖 4. 讀寫鎖 5. 條件變量 5.1 生產者和消費者模型 6. 信號量   1. 概念 線程同步:  > 當有一個線程在對內存進行操作時,其他線程都不可以對這個內存地址進行操作,直到該線程完成操

原创 java:java8新特性(Lambda 表達式、方法引用、構造器引用、數組引用、Stream API)

  速度更快 對 HashMap 、ConcurrentHashMap低層的數據結構(數組+鏈表+二叉樹) 低層的內存結構(將永久區更新爲元空間,元空間使用的是物理內存) 代碼更少(增加了新的語法 Lambda 表達式)

原创 java:IO流(緩衝流、對象流、控制檯IO、轉換流、java.io.File 類 )

目錄 一、IO 流的結構體系 二、緩衝流:BufferedInputStream & BufferedOutputStream 三、對象流:ObjectInputStream & ObjectOutputStream 四、控制檯IO 五、

原创 java:泛型(自定義泛型類、自定義泛型接口、泛型的繼承和通配符說明)

  目錄 一、泛型的介紹 二、泛型的語法 2.1 泛型的聲明 2.2 泛型的實例化 2.3 泛型使用舉例 2.3 泛型使用的注意事項和細節 2.4 泛型課堂練習題 2.5 自定義泛型類 2.6 自定義泛型接口 2.7 自定義泛型方法 三、

原创 c/c++:Libevent應用(Libevent介紹、 事件處理框架 - event_base、事件循環、事件、帶緩衝區的事件、鏈接監聽器)

  目錄 1. Libevent介紹 1.1 安裝Libevent  2. 事件處理框架 - event_base 2.1 event_base API函數 event_base和fork(進程)關係: 3. 事件循環 3.1 設置事件

原创 c/c++:基於TCP協議實現Linux下客戶端與服務器之間的通信,實現多線程、多進程服務器代碼模板

目錄 TCP協議Linux多進程服務器代碼模板: TCP協議Linux多線程服務器代碼模板: 客戶端代碼模板:   TCP協議Linux多進程服務器代碼模板: #include <stdio.h> #include <stdlib.h

原创 常用代碼模板3——搜索與圖論

目錄 一、樹與圖的存儲 二、樹與圖的遍歷 (1) 深度優先遍歷 —— 模板題 AcWing 846. 樹的重心 (2) 寬度優先遍歷 —— 模板題 AcWing 847. 圖中點的層次 拓撲排序 —— 模板題 AcWing 848. 有向

原创 c/c++:端口複用(setsockopt)、io多路轉接(select、 poll、epoll)

目錄 1. 端口複用 setsockopt函數 2. IO多路轉接 2.1 select select函數演示: io多路轉接(select函數)服務器代碼模板 3.2 poll 2.3  epoll epoll_create 創建函數