原创 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傳輸數據的過程中