原创 on條件與where條件的區別

數據庫在通過連接兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給用戶。      在使用left jion時,on和where條件的區別如下: 1、 on條件是在生成臨時表時使用的條件,它不管on中的條件是

原创 mysql join

1.join,left jioin, right join, inner join,full join區別 join的默認方法爲inner join 關於inner join, left join, right join, full jo

原创 spark+mesos安裝運行

之前配置了spark的standalone模式,直接按照官方的文檔沒有遇到錯誤。後來在mesos安裝了spark,安裝模式記錄如下: 先說下環境,之前在suse上安裝沒有成功,報錯包括java類找不到(實際上jar包能找到這個類,沒找到原

原创 Mysql隔離級別

先記錄下幾個概念: 髒讀:在當前事務中,讀取到其他事務中還未提交的數據 不可重複讀:在當前事務中,讀取某一行的數據,可能讀出的數據不同 幻讀:在當前事務中,讀取記錄時,另外的事務插入了新的記錄,當前事務可能出現新的行。 四種隔離級別:

原创 hash_set,hash_map,hash_multiset,hash_multimap

上面四中容器都基於hashtable這種底層的機制。二叉搜索樹具有對數平均時間的表現,但這樣的表現簡歷在輸入數據有足夠的隨機性這一假設上。而hashtable這一數據結構在插入,刪除,搜尋等操作上都具有“常數平均時間”,而且這種表現不依賴

原创 mysql數據類型

幾個簡單的原則: 1.更小的通常更好:在能夠滿足要求的情況下,越小性能越高 2.簡單就好:簡單的數據類型操作更爲容易,例如整型比字符串操作更爲容易 3.儘量避免使用NULL:如果不需要NULL,最好指定爲NOT NULL 整數類型 TI

原创 深入理解Linux中內存管理

原文鏈接:http://kb.cn把blogs.我com/刪page/1掉80830/ 前一段時間看了《深入理解Linux內核》對其中的內存管理部分花了不少時間,但是還是有很多問題不是很清楚,最近又花了一些時間複習了一下,在這裏記

原创 linux C++ 的內存分佈情況

寫了一段代碼,驗證了一下內存的分佈情況: #include <iostream> using namespace std; int k = 300; static int global_static = 0; const int i =

原创 鏈接,靜態庫,動態庫

在多個文件編譯之後,每個文件生成了一個.o文件,然後是使用鏈接器,將.o文件鏈接爲一個可執行文件的。鏈接器爲了創建可執行文件,必須完成兩個任務: 1.符號解析:目標文件定義和引用符號。符號解析的目的是將每個符號引用和符號定義聯繫起來。 2

原创 paxos運用場景看懂了一些

paxos算法之前就聽說過,一直知道是個高大上的算法,但是一直都沒看懂用在什麼地方. 今天看了一些,懂了一點點,在這裏做個記錄. 算法的內容大概寫一下(一些術語需要看看原文): 1.準備(prepare):Proposer首先選擇一個提議

原创 wait和waitpid的區別

在UNP中講到了,多進程模型.即如果服務器端fork一個新的進程去處理新來的連接.那麼當連接斷開時,父進程就需要回收子進程的資源,否則子進程退出後成爲僵死進程,浪費系統資源. 因爲子進程退出後會給父進程一個SIGCHLD信號,通常的做法時

原创 C++的繼承

一.構造和析構 在單繼承中,派生類的構造函數調用次序 1.調用基類的構造函數 2.調用內嵌成員對象(即該類中的成員變量是其他的類),調用順序按照他們在類中的定義的順序 3.派生類自己的構造函數 析構函數順序相反 在多繼承中: 1調用各基

原创 不同進程共享文件的幾種情況

看APUE中,打開一個文件都是,進程控制塊的文件描述符表,指向文件表,文件表再指向v節點表,下面說下集中情況 1.不同進程打開同一個文件的情況 2.子進程從父進程中fork出來的情況 3.同一進程打開同一個文件 4.使用dup重定向

原创 引用和指針

引用是已存在變量的別名.這句話包含了兩層意思, 第一個是已經存在的變量,引用在聲明時必須對其初始化, 第二個是別名,編譯器不會給引用分配內存空間,引用只是作爲一個符號,和他初始化的變量標示同一個地址 因爲上面的原因,我們可以看出,我們只能

原创 TIME_WAIT存在的原因

在關閉TCP連接中,客戶端首先發送FIN報文,關閉本端的連接,之後等待接受服務器發來的FIN報文,完成關閉動作.在客戶端收到服務器的FIN報文之後,會進入一個TIME_WAIT的狀態,該狀態會持續一段時間,再關閉自身端口.這個動作存在的目