原创 SQL 語句類型以及處理

1、DML 包含select、delete、insert/replace、update 2、DDL 包含create、update、delete 3、TCL(事務控制語句) 包含start trans

原创 SSTable and Log Structured Merge Trees

僅僅SSTable數據結構本身仍然無法support高效的range query和random r/m 的場景,還需要一整套的機制來完成從memory sort、flush to disk,compaction以及快速讀取。。。這

原创 sharding-jdbc api結構

1、內部api關係 2、初始化流程 a、配置Configuration對象。 b、通過Factory對象將Configuration對象轉化爲Rule對象。 c、通過Factory對象將Rule對象與DataSource

原创 日誌收集平臺

原创 patch應用

1.git diff生成的標準patch 我們可以首先用git diff製作一個patch。本文示例的工作目錄裏最初有一個文件a,內容是“This is the file a.”,放置在master分支中。爲了修改代碼,我們一般的做法是

原创 常用命令

export ctags make patch g++ git 【clone, pull, push, rebase, fetch, merge, origin, master 概念] vim gdb make ldd

原创 多線程處理

include include define NUM_THREADS 5 int sum = 0; pthread_mutex_t sum_mutex; static void *say_hello(void *args) {

原创 make

Linux 下 make 命令是系統管理員和程序員用的最頻繁的命令之一。管理員用它通過命令行來編譯和安裝很多開源的工具,程序員用它來管理他們大型複雜的項目編譯問題。本文我們將用一些實例來討論 make 命令背後的工作機制。 Make 如何

原创 ServerSocketChannel 寫入數據

public class Test { public static void main(String[] args) { try { ServerSocketChannel serve

原创 狀態機2

狀態機就是一種存在於理論中的機器,它具有以下的特點: 它有記憶的能力,能夠記住自己當前的狀態。 它可以接收輸入,根據輸入的內容和自己的狀態,修改自己的狀態,並且可以得到輸出。 當它進入某個特殊的狀態(停機狀態)的時候,它不再接收輸入,停

原创 ctags

Ctags工具是用來遍歷源代碼文件生成tags文件,這些tags文件能被編輯器或其它工具用來快速查找定位源代碼中的符號(tag/symbol),如變量名,函數名等。比如,tags文件就是Taglist和OmniCppComplete工作的

原创 多線程處理信號量

include include include define BOUNDARY 5 int tasks = 10; pthread_mutex_t tasks_mutex; pthread_cond_t tasks_cond;

原创 const學習

在普通的非 const成員函數中,this的類型是一個指向類類型的 const指針。可以改變this所指向的值,但不能改變 this所保存的地址。 在 const成員函數中,this的類型是一個指向 const類類型對象的 const指

原创 gdb調試

gdb是一個在UNIX環境下的命令行調試工具。   如果需要使用gdb調試程序,請在gcc時加上-g選項。   下面的命令部分是簡化版,比如使用l代替list等等。 1.基本命令 1)進入GDB  #gdb test   test是要調試

原创 rpc調用

同步調用 客戶方等待調用執行完成並返回結果。 異步調用 客戶方調用後不用等待執行結果返回,但依然可以通過回調通知等方式獲取返回結果。 若客戶方不關心調用返回結果,則變成單向異步調用,單向調用不用返回結果。 RPC 服務方通