原创 STL剖析筆記(一)---概述
STL有很多版本,我剖析的是SGI版本,參考侯捷的《STL源碼剖析》 首先是它的整體結構吧 STL有六大組件: 1)容器:各種數據結構(vector,list,map,set等) 2)迭代器:可以操縱數據的接口,有點像指針
原创 HTTP中GET和POST本質詳解
轉自http://blog.csdn.net/gideal_wang/article/details/4316691 一 原理區別 一般在瀏覽器中輸入網址訪問資源都是通過GET方式;在FORM提交中,可以通過Method指定提交
原创 STL源碼剖析筆記(二)---容器
容器,是STL中很重要的一部分,是容納特定類型對象的集合,因此容器中的對象必須是同一個類型,而且必須是可拷貝構造和可賦值的。STL爲容器的遍歷提供了迭代器,還提供了很多算法,如排序,查找等。 也可以把容器理解爲我們學過的數據結構,
原创 epoll詳解
轉自:http://blog.chinaunix.net/uid-24517549-id-4051156.html 什麼是epoll epoll是什麼?按照man手冊的說法:是爲處理大批量句柄而作了改進的poll。當然,這不是2.
原创 Linux下的五種I/O模型
I/O(input/output),即輸入/輸出端口。每個設備都會有一個專用的I/O地址,用來處理自己的輸入輸出信息。 網絡中的I/O需要經過兩步完成:1)等待數據就緒 2)數據搬遷(把數據從內核區拷貝到用戶區) ------------
原创 C++中隱式轉換和顯示轉換
轉自:http://www.cnblogs.com/joinclear/p/3850076.html 0前言 1)C++的類型轉換分爲兩種,一種爲隱式轉換,另一種爲顯式轉換。 2)C++中應該儘量不要使用轉換,儘量使用顯式轉換
原创 C語言中野指針與內存泄漏
內存泄漏 用動態存儲分配函數動態開闢的空間,在使用完畢後未釋放,結果導致一直佔據該內存單元,不能被任何程序再次使用,直到程序結束。即所謂內存泄漏。 注意:內存泄漏是指堆內存的泄漏。 簡單的說就是申請了一塊內存空間,使用完畢
原创 多進程和多線程的區別
轉自:http://blog.csdn.net/hairetz/article/details/4281931/ 很想寫點關於多進程和多線程的東西,我確實很愛他們。但是每每想動手寫點關於他們的東西,卻總是求全心理作祟,始終動不了手。 今
原创 TCP長連接與短連接的區別
轉自:http://www.cnblogs.com/liuyong/archive/2011/07/01/2095487.html 1. TCP連接 當網絡通信時採用TCP協議時,在真正的讀寫操作之前,server與client之間
原创 HTTP協議詳解
引言 HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分佈式超媒體信息系 統。它於1990年提出,經過幾年的使用與發展,得到不斷
原创 Reactor模式詳解
轉自http://www.blogjava.net/DLevin/archive/2015/09/02/427045.html 前記 第一次聽到Reactor模式是三年前的某個晚上,一個室友突然跑過來問我什麼是Reactor模式?我
原创 I/O多路轉接之epoll
epoll的工作原理: epoll把用戶關心的文件描述符上的事件放在內核的一張事件表裏,所以不用像select那樣,每次都要重複傳入文件描述符。但epoll需要一個文件描述符來唯一標識內核中的這個事件表。這個文件描述符用函數epoll_c
原创 I/O多路轉接之select
系統提供select函數來實現多路複用輸入/輸出模型。 傳向select的參數告訴內核: 1)我們所關心的文件描述符。 2)對每個描述符,我們所關心的狀態。(我們是要想從一個文件描述符中讀或者寫,還是關注一個描述符中是否出現異常) 3)
原创 基於TCP的socket編程
server端: client 端: 一個server在和兩個client聊天~~~ 步驟:server端 1)調用socket(),創建套接字,返回值是文件描述符。 2)調用b
原创 linux中安裝gcc和g++
轉自:http://www.cnblogs.com/myw31415926/archive/2013/03/13/myw31415926.htm 今天在linux的服務器上安裝C/C++的編譯器gcc和g++,運行了如下兩條命令