原创 Zookeeper的啓動流程

zookeeper的主類是QuorumPeerMain,啓動時讀取zoo.cfg配置文件,如果沒有配置server列表,則單機模式啓動,否則按集羣模式啓動,這裏只分析集羣模式根據配置初始化quorumPeer對象,並啓動quorumPee

原创 cglib動態代理介紹(一)

轉自:http://blog.csdn.net/xiaohai0504/article/details/6832990 一、原理       代理爲控制要訪問的目標對象提供了一種途徑。當訪問對象時,它引入了一個間接的層。JDK自從1

原创 java實現冒泡法排序

/** * 冒泡法排序 * @author DELL * */ public class BubbleSort { public static void main(String[] args) { i

原创 google Dataflow編程模型和spark 2.0 structured streaming對比

轉載自:http://blog.csdn.net/colorant/article/details/52163896 主要介紹一下Dataflow編程模型的基本思想,後面再簡單比較一下spark 2.0 structured stre

原创 redis的類型、原理及使用場景

轉自:http://blog.csdn.net/hguisu/article/details/8836819 1.  MySQL+Memcached架構的問題 Memcached採用客戶端-服務器的架構,客戶端和服務器端的通

原创 ZooKeeper典型應用場景一覽

數據發佈與訂閱(配置中心) 發佈與訂閱模型,即所謂的配置中心,顧名思義就是發佈者將數據發佈到ZK節點上,供訂閱者動態獲取數據,實現配置信息的集中式管理和動態更新。例如全局的配置信息,服務式服務框架的服務地址列表等就非常適合使用。  

原创 深入淺出 RPC

轉自:http://blog.csdn.net/mindfloating/article/details/39473807 近幾年的項目中,服務化和微服務化漸漸成爲中大型分佈式系統架構的主流方式,而 RPC 在其中扮演着關鍵的作用。在

原创 分佈式存儲-HDFS 與 GFS 的設計差異

轉自:http://blog.csdn.net/mindfloating/article/details/49103611 我們知道 HDFS 最早是根據 GFS(Google File System)的論文概念模型來設計實現的。 

原创 java鏈表反轉

這裏只實現遍歷反轉,還有一種遞歸反轉這裏未實現 /** * 鏈表反轉 * @author DELL * */ public class LinkReverse { /** * @param args */ publ

原创 zookeepr選舉算法

源碼下載: http://www.java2s.com/Code/Jar/z/Downloadzookeeper345sourcesjar.htm 選舉算法 2.4.1 LeaderElection選舉算法 選舉線程由

原创 HashMap實現原理

1. HashMap的數據結構 數據結構中有數組和鏈表來實現對數據的存儲,但這兩者基本上是兩個極端。       數組 數組存儲區間是連續的,佔用內存嚴重,故空間複雜的很大。但數組的二分查找時間複雜度小,爲O(1);數組的特點是:

原创 Mysql日誌解析

修改Mysql配置 Mysql配置地址爲: C:\Program Files (x86)\MySQL\MySQL Server 5.5 如果無法修改可以把my.ini拷貝出來,修改完後,再拷貝回去! 如果配置了Mysql的日誌生成

原创 解析xml的4種方法詳解

轉自:http://blog.csdn.net/jzhf2012/article/details/8532873 1. 介紹 1)DOM(JAXP Crimson解析器)          DOM是用與平臺和語言無關的方式表示XML

原创 Google Cloud Dataflow對比原生的MapReduce

轉發自:http://suanfazu.com/t/fen-bu-shi-ji-suan-kuang-jia-google-cloud-dataflow/257 Google Cloud Dataflow是一種構建、管理和優化複雜數

原创 mysql show profiles 使用分析sql 性能

Show profiles是5.0.37之後添加的,要想使用此功能,要確保版本在5.0.37之後。 查看一下我的數據庫版本 MySQL> Select  version(); +---------------------+ |