原创 shared_ptr理解

shared_ptr是一種智能指針(smart pointer)。shared_ptr的作用有如同指針,但會記錄有多少個shared_ptrs共同指向一個對象。 shared_ptr是C++非常重要的一個防止內存泄露的設計 作用:

原创 memcache深入解析

1.爲什麼要使用memcache由於網站的高併發讀寫需求,傳統的關係型數據庫開始出現瓶頸,例如:1)對數據庫的高併發讀寫:關係型數據庫本身就是個龐然大物,處理過程非常耗時(如解析SQL語句,事務處理等)。如果對關係型數據庫進行高併發讀寫

原创 using namespace [ns]與 using [ns]區別

using namespace [ns]與 using [ns]區別 using namespace [ns] 表示命名空間 [ns] 下所有的域變成可見的。 如 using namespace std; 則代碼中可以用

原创 線程佔用內存多大?

#include <malloc.h> #include <unistd.h> int main() { // char *p =(char *) malloc(1024*1024); while(1)

原创 ftp協議

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱爲“文傳協議”。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。用戶可以通過它把自己的PC機

原创 RM/RMVB文件格式總結

  RM/RMVB文件格式總結 RM文件格式是標準的標記符文件格式,RM文件格式把標記符塊組合成頭塊,數據快,索引塊,這些標記符塊的組合方法如下: .RMF頭塊 RealMedia File Header(RM 文件頭) PR

原创 Boost 庫 enable_shared_from_this 實現原理分析

使用情景:當類對象被 shared_ptr 管理時,需要在類自己定義的函數裏把當前類對象作爲參數傳給其他函數時,這時需要傳遞一個 shared_ptr ,否則就不能保持 shared_ptr 管理這個類對象的語義(因爲有一個 raw

原创 TCP三次握手,4次揮手

轉載:http://blog.sina.com.cn/s/articlelist_2754431351_4_1.html 很多網絡知識 建立TCP需要三次握手才能建立,而斷開連接則需要四次握手。整個過程如下圖所示: 先

原创 127.0.0.1和本機ip區別

127.0.0.1 : 這個地址通常分配給 loopback 接口。loopback 是一個特殊的網絡接口(可理解成虛擬網卡),用於本機中各個應用之間的網絡交互。只要操作系統的網絡組件是正常的,loopback 就能工作。 常的網絡包

原创 TCP連接複用

 TCP連接複用技術通過將前端多個客戶的HTTP請求複用到後端與服務器建立的一個TCP連接上。這種技術能夠大大減小服務器的性能負載,減少與服務器之間新建TCP連接所帶來的延時,並最大限度的降低客戶端對後端服務器的併發連接數請求,減少服務

原创 TCP滑動窗口機制

轉載:http://blog.sina.com.cn/s/blog_5ec353710101g5a7.html 我們可以大概看一下上圖的模型: 首先是AB之間三次握手建立TCP連接。在報文的交互過程中,A將自己的緩衝區大小(窗口

原创 iterator和iterator_traits

     跟據侯捷的《STL源碼剖析》一書中提到的《Design Patterns》一書中關於iterator模式定義:提供一種方法,使之能夠依序尋訪某個聚合物(容器)所含的各個元素,而又無需暴露該聚合物的內部表達方式。  

原创 memmove和memcpy

memmove和memcpy 1.memmove 函數原型:void *memmove(void *dest, const void *source, size_t count) 返回值說明:返回指向dest的void *指針 參數說

原创 Nat 穿透開源項目

Nat 穿透開源項目 1. libnice    官網地址:http://nice.freedesktop.org/wiki/    源碼git庫地址:http://cgit.collabora.com/git/libnice.g

原创 發散聚合IO(scatter-gather I/O)技術

 scatter/gather I/O 2013-05-30 09:53:02 分類: LINUX scatter/gather方式是與block dma方式相對應的一種dma方式。     在dma傳輸數據的過程中