原创 基於netty的消息隊列設計(一)

一.什麼是消息隊列 消息隊列技術是分佈式應用間信息交換的一種技術,消息隊列可駐留在內存或磁盤上,隊列存儲消息直到它們被應用程序讀走,通過消息隊列,應用程序可以獨立地執行,而不需要知道彼此的位置……….當然,上面所說,是比較抽象的,

原创 String、StringBuffer與StringBulider之間區別

java中String、StringBuffer、StringBulider是經常要用到的字符串類,那麼它們之間到底有什麼不同?以及它們的應用場景? String字符串常量 String 簡介 String 類是不可變類,所以S

原创 ubuntu 14.04下安裝protobuf2.6.1

1.下載protobuf 點擊下載protobuf2.6.1 解壓安裝  tar -zxvf protobuf-2.6.1.tar.gz sudo apt-get install build-essential cd protob

原创 Java 線程池---ExecutorService

1.線程池  1.1什麼情況下使用線程池 單個任務處理的時間比較短. 將需處理的任務的數量大. 1.2使用線程池的好處 減少在創建和銷燬線程上所花的時間以及系統資源的開銷. 如果不使用線程池,有可能造成系統創建大量線程而導致

原创 C++11併發API總結

C++11 多線程相關的頭文件 C++ 新標準中引入了四個頭文件來支持多線程編程,他們分別是 < atomic>, < thread>, < condition_variable> 和< future>. < atomic>

原创 select模型實現分析

今天和小夥伴一起看select源碼,感覺收穫還是挺大的,網上這方面的資料還是挺少的,很少有分析select的具體實現是怎樣實現的,所以,我把它整理一下,希望可以幫到想看看select具體是怎樣實現的小夥伴,ok,不說廢話了.

原创 會場安排問題

一.貪心算法1 問題描述 假設要在足夠多的會場裏安排一批活動,並希望使用儘可能少的會場.設計一個有效的貪心算法進行安排(這個問題實際上是著名的圖着色問題,若將每一個活動作爲圖的一個頂點,不相容活動間用邊相連,使相鄰頂點着有不同顏色

原创 C++連接數據庫

連接數據庫的幾個API 1. MYSQL *mysql_init(MYSQL *mysql); MYSQL *mysql_init(NULL); 爲mysql_real_connect()分配或初始化一個MYSQL對象,若m

原创 Java線程---鎖機制:synchronized、Lock、Condition

1.synchronized—對象加鎖 synchronized方法包括兩種,一是標註了synchronized關鍵字的方法,一種是synchronized代碼塊.而不論是同步代碼塊還是同步方法都具有了原子性和可見性. 1.1 原

原创 最長遞增子序列求解

算法難,難於上青天!!!!! 搞懂一個算法不容易,還是寫篇博客爲以後複習做好準備!!!! 動態規劃算法O(n^2) 設A[i]表示序列中第i個數,dp[i]表示從0到i這一段中以i結尾的最長上升子序列的長度,初始化dp[i]

原创 C++設計模式之----單例模式

前言  單例模式,故名思義,其意圖是保證一個類只有一個實例,並提供一個訪問它的全局訪問點,該實例被所有的程序模塊共享.在很多地方要用到這種設計模式,如系統的日誌輸出,操作系統的窗口,一個pc連一個鍵盤等. 單例模式有許多實現方法

原创 輕鬆理解MYSQL MVCC 實現機制

1. MVCC簡介 1.1 什麼是MVCC MVCC是一種多版本併發控制機制。 1.2 MVCC是爲了解決什麼問題? 大多數的MYSQL事務型存儲引擎,如,InnoDB,Falcon以及PBXT都不使用一種簡單的行鎖機制.事

原创 淺談AVL樹,紅黑樹,B樹,B+樹原理及應用

背景:這幾天在看《高性能Mysql》,在看到創建高性能的索引,書上說mysql的存儲引擎InnoDB採用的索引類型是B+Tree,那麼,大家有沒有產生這樣一個疑問,對於數據索引,爲什麼要使用B+Tree這種數據結構,和其它樹相比,

原创 System.getProperty("line.separator") 是什麼意思?

在Java中存在一些轉義字符,比如"\n"爲換行符,但是也有一些JDK自帶的一些操作符 比如 : System.getProperty("line.separator") 這也是換行符,功能和"\n"是一致的,但是此種寫法屏蔽了

原创 Java NIO 學習總結

一.Java NIO 核心組成部分: Channels Buffers Selectors 所有的IO在NIO中都從一個Channel開始,Channel有點像流,數據可以從Channel讀取到Buffer中,也可以從B