原创 服務器通訊——短連接和長連接

解釋1 所謂長連接指建立SOCKET連接後不管是否使用都保持連接,但安全性較差,    所謂短連接指建立SOCKET連接後發送後接收完數據後馬上斷開連接,一般銀行都使用短連接   解釋2 長連接就是指在基於tcp的通訊中,一直保

原创 通過bitset輸出二進制數

做到筆試題時,難免會有需要將數字的二進制輸出的情況,通過STL中的bitset我們可以很輕鬆地完成這個目標。  有些程序要處理二進制位的有序集,每個位可能包含的是0(關)或1(開)的值。位是用來保存一組項或條件的yes/no信息(有時也

原创 C++ STL容器底層實現

STL底層數據結構實現 C++ STL 的實現:   1.vector      底層數據結構爲數組 ,支持快速隨機訪問   2.list            底層數據結構爲雙向鏈表,支持快速增刪   3.deque       底層數

原创 把《編程珠璣》讀薄

作者:Hawstein 出處:http://hawstein.com/posts/make-thiner-programming-pearls.html 目錄 開篇啊哈!算法數據決定程序結構編寫正確的程序編程中的次要問

原创 各種排序算法穩定性比較

排序算法穩定性 所謂穩定性是指待排序的序列中有兩元素相等,排序之後它們的先後順序不變.假如爲A1,A2.它們的索引分別爲1,2.則排序之後A1,A2的索引仍然是1和2. 穩定也可以理解爲一切皆在掌握中,元素的位置處在你在控制中.而不穩定算

原创 系統設計面試題分析

系統設計面試題分析 應屆生在面試的時候,大公司偶爾也會遇到一些系統設計題,而這些題目往往只是考一下你的知識面,或者對系統架構方面的瞭解,不會涉及編碼。很多人感覺難以應對這樣的題目,也不知道從何說起,在本文中,總結了回答這類題目

原创 迭代器失效問題——小心使用erase()

刪除指定元素: for (auto it = vec.begin(); it != vec.end(); )  {   if (*it ==3)   {    it = vec.erase(it);   }   else   {   

原创 網絡協議常用的端口號

ftp-data            20/tcp               FTP, dataftp                21/tcp              FTP. controltelnet           2

原创 Linux中的fork()詳解

一、fork入門知識      一個進程,包括代碼、數據和分配給進程的資源。fork()函數通過系統調用創建一個與原來進程幾乎完全相同的進程,也就是兩個進程可以做完全相同的事,但如果初始參數或者傳入的變量不同,兩個進程也可以做不同的事。

原创 從十七年蟬談起——hashtable的表格大小爲什麼要選擇質數

十七年蟬,同翅目。北美洲一種穴居十七年才能化羽而出的蟬。它們在地底蟄伏17年始出,爾後附上樹枝蛻皮,然後交配。雄蟬交配後即死去,母蟬亦於產卵後死。科學家解釋,十七年蟬的這種奇特生活方式,爲的是避免天敵的侵害並安全延續種羣,因而演化出一個漫