原创 hadoop 27在ubuntu上單機搭建與測試

1. 安裝Hadoop 1.1. 解壓: sudo tar xzf hadoop-2.7.1.tar.gz(非源代碼包,不需要編譯) 1.2. co

原创 javadoc相關

eclipse中配置javadoc 通過eclipse的project->Generate Javadoc來生成java的幫助文檔。文檔默認存放路徑爲/doc文件夾下,從index.html開始瀏覽。 jav

原创 Linux進程/線程協作之eventfd

eventfd是linux的一個系統調用,爲事件通知創建文件描述符。 eventfd()創建一個“eventfd對象”,這個對象能被用戶空間應用用作一個事件等待/響應機制,靠內核去響應用戶空間應用事件。這個對象包含一個由內核保持

原创 zmq源代碼分析 - mailbox_t

1. mailbox介紹 mailbox是zmq中線程之間及socket和線程之間的通信機制。 mailbox類中包含了cpipe類及signaler類,其中cpipe類負責發送給mailbox的命令的存儲,讀寫等操作;

原创 openssl中PKCS12_free函數的位置及實現方式

在openssl源代碼中搜索不到PKCS12_free函數的定義,那麼這個函數在哪裏定義的? 通過GDB運行調試程序發現PKCS12_free定義在p12_asn.c中。     167  if (!PKCS12_parse(p12, p

原创 有用的ZeroMQ文章鏈接

http://www.cplusplus.com/reference/fstream/ c++參考手冊。 ZeroMQ研究與應用分析 http://www.cnblogs.com/zengzy/p/5122634.html

原创 ssl change ciper spec

 http://www.h3c.com.cn/Products___Technology/Technology/Security_Encrypt/Other_technology/Technology_book/200812/6228

原创 C語言中#,##和#@

#include <stdio.h> #include <stdlib.h> #define STR(a) #a //把a替換成一個“a”形式的字符串。 #define PRINTF pri##ntf //link the two

原创 LMS權值更新法則(Least mean squares,最小均方)

訓練樣例(X,V(X)), 其中X爲特徵值和權重的內積W*X。 如果目標函數表示成: V(X)=W0+W1*X1+W2*X2+W3*X3+W4*X4+W5*X5+W6*X6 對於每一個訓練樣例(X,V(X))

原创 Linux進程/線程協作 之 創建指定數量的進程

#include <stdio.h> #include <stdlib.h> #include <memory.h> //創建5個子進程。 int main(int argc, char ** argv) { pid_t

原创 zmq源代碼分析 - ypipe_t(1)

1. 綜述 ypipe_t是zmq中的重要的數據結構。它實現了一個無鎖的隊列,支持單一的讀線程和單一的寫線程能夠在無鎖的情況下併發執行。ypipe_t是zmq進行消息發送的最底層數據結構,寫線程會把消息寫入到ypipe

原创 zmq源代碼分析 - ypipe_t(2)

ypipe_t源代碼續 //回滾已經寫入的元素(對於單一元素是不能回滾的,對於多片段元素,在最後一片寫入之前前n-1片是可以回滾的)。 //參數: // value_,被回

原创 linux進程/線程協作 之 epoll

epoll簡介 相比於select,epoll最大的好處在於它不會隨着監聽fd數目的增長而降低效率。 表示select最多同時監聽1024個fd,當然,可以通過修改頭文件再重編譯內核來擴大這個數目,但這似乎並不治本。 epoll

原创 C語言va_list,va_start,va_arg,va_end

C語言va_list,va_start,va_arg,va_end 需要注意: 在C語言中使用可變參數不利於編譯器的語法檢查,在使用時要慎重。 #include <stdlib.h> #include <stdio

原创 zeromq分析-1-yqueue實現

yqueue是zeromq中實現的一個隊列。 // Create the queue. // yqueue初始化函數。 inline yqueue_t () {