原创 Memcached源碼分析之內存管理篇

使用命令 set(key, value) 向 memcached 插入一條數據, memcached 內部是如何組織數據呢   一 把數據組裝成 item memcached 接受到客戶端的數據後, 把數據組裝成 item, item 的

原创 Paxos算法

分佈式系統的核心問題是數據一致性,解決一致性有很多算法,而 Paxos 算法 無疑是最著名的,Google 工程師曾說,所有一致性算法都可以歸結爲 Paxos 算法 的一個特列。可見,很有必要學習 Paxos 算法。   Paxos 算法

原创 memcopy 和 memmove 的實現

一 memcopy 的實現   memcopy 不考慮源內存和目標內存之間的重疊, 逐字節地拷貝, 代碼比較簡單     void my_memcopy(void *src, void *dst, int size) { char *p

原创 編程之美3.1 字符串移位包含的問題

題目 給定兩個字符串 s1 和 s2, 要求判定 s2 是否能夠被通過 s1 作循環移位 ( rotate ) 得到的字符串包含. 例如, 給定 s1 = AABCD 和 s2 = CDAA, 返回 true; 給定 s1 = ABCD

原创 多線程與volatile變量

  volatile 修飾的變量表示改變量的值是易變的,編譯器不對其進行優化, 訪問該變量的時候不會從寄存器讀取, 而是直接從內存讀取變量。 在多線程環境下,每個線程都有一個獨立的寄存器,用於保存當前執行的指令。 假設我們定義了一個全局

原创 Virtualbox下Windows和Linux實現文件互傳

1 Windows安裝好Linux虛擬機   2 在Linux下運行一個 Python 實現的http服務器,代碼如下:     #!/usr/bin/env python """Simple HTTP Server With Uplo

原创 Memcached源碼分析之網絡模型篇

memcached 採用多線程的工作方式, 主線程接收連接, 然後把連接平攤給 工作線程, 工作線程處理業務邏輯, memcached 使用 libevent 處理網絡 事件, 主線程和工作線程都有一個 event base, 這是 li

原创 Java靜態內部類

兩種內部類 Java的內部類有兩種,一種是靜態內部類,另一種是普通內部類,普通內部類可以獲得外部對象的引用, 所以在普通內部類能夠訪問外部對象的成員變量 ,也就能夠使用外部類的資源,可以說普通內部類依賴 於外部類,普通內部類與外部類是共生

原创 cookie 實現驗證碼的原理

驗證碼技術用來解決網絡中的惡意註冊或者 DDOS 攻擊,主要原理是,讓用戶 輸入圖片中的文字,如果通過了驗證,服務器就在客戶端瀏覽器保存一個驗證 cookie, 比如叫做 <secure_session, 9HcxOGJMhn5j7U

原创 Linux信號詳解

一 信號的種類 可靠信號與不可靠信號, 實時信號與非實時信號 可靠信號就是實時信號, 那些從UNIX系統繼承過來的信號都是非可靠信號, 表現在信號 不支持排隊,信號可能會丟失, 比如發送多次相同的信號, 進程只能收到一次. 信號值小於 S

原创 非阻塞connect的實現

步驟1: 設置非阻塞,啓動連接 實現非阻塞 connect ,首先把 sockfd 設置成非阻塞的。這樣調用 connect 可以立刻返回,根據返回值和 errno 處理三種情況: (1) 如果返回 0,表示 connect 成功。 (

原创 算法導論習題 5.1 -2

描述random(a, b)過程的一種實現,它只調用random(0,1)。作爲a和b的函數, 你的程序期望運行時間是多少?   算法描述這個題目相當於在能隨機生成0,1的前提下,要求生成[0, 1, ...,n-1]範圍內的一個整數1

原创 關於大端法和小端法

  typedef union { int n; char p[sizeof(int)]; } union_t; union_t ut; memset(&ut,0, sizeof(ut)); ut.p[0] = 13; print

原创 (轉) Linux 的殭屍(zombie)進程

  原文地址:  http://coolshell.cn/articles/656.html 可能很少有人意識到,在一個進程調用了exit之後,該進程 並非馬上就消失掉,而是留下一個稱爲殭屍進程(Zombie)的數據結構。在Linux進程

原创 (轉)一致性哈希算法及其在分佈式系統中的應用

原文地址: http://www.cnblogs.com/leoo2sk/archive/2011/08/11/consistent-hashing-intro.html   Consistent hashing算法非常簡潔,如果你有一系