原创 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 服務方通