原创 rabbitMQ概念詳解

引言你是否遇到過兩個(多個)系統間需要通過定時任務來同步某些數據?你是否在爲異構系統的不同進程間相互調用、通訊的問題而苦惱、掙扎?如果是,那麼恭喜你,消息服務讓你可以很輕鬆地解決這些問題。消息服務擅長於解決多系統、異構系統間的數據交換(消息

原创 hadoop資源管理框架yarn運行原理

1.1 YARN 基本架構YARN是Hadoop 2.0中的資源管理系統,它的基本設計思想是將MRv1中的JobTracker拆分成了兩個獨立的服務:一個全局的資源管理器ResourceManager和每個應用程序特有的Applicatio

原创 平衡二叉樹(AVL)與紅黑樹

一、AVL樹性質1.本身首先是一棵二叉搜索樹。2.帶有平衡條件:每個結點的左右子樹的高度之差的絕對值(平衡因子)最多爲1。也就是說,AVL樹,本質上是帶了平衡功能的二叉查找樹(二叉排序樹,二叉搜索樹)。AVL樹的查找、插入和刪除在平均和最壞

原创 BTree與B+Tree

B 樹是爲了磁盤或其它存儲設備而設計的一種多叉(下面你會看到,相對於二叉,B樹每個內結點有多個分支,即多叉)平衡查找樹。B 樹又叫平衡多路查找樹。一棵m階的B 樹 (m叉樹)的特性如下:樹中每個結點最多含有m個孩子(m>=2);除根結點和葉

原创 MySQL的btree索引和hash索引的區別

Hash 索引結構的特殊性,其檢索效率非常高,索引的檢索可以一次定位,不像B-Tree 索引需要從根節點到枝節點,最後才能訪問到頁節點這樣多次的IO訪問,所以 Hash 索引的查詢效率要遠高於 B-Tree 索引。可能很多人又有疑問了,既然

原创 Mysql分庫分表方案總結

單庫單表 單庫單表是最常見的數據庫設計,例如,有一張用戶(user)表放在數據庫db中,所有的用戶都可以在db庫中的user表中查到。 單庫多表 隨着用戶數量的增加,user表的數據量會越來越大,當數據量達到一定程度的時候對user表的查詢

原创 REST協議簡介

REST是什麼 REST是英文Representational State Transfer的縮寫,中文翻譯爲“表述性狀態轉移”,他是由Roy Thomas Fielding博士在他的論文 《Architectural Styles and

原创 http協議詳解

引言HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分佈式超媒體信息系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規範化工作正

原创 java gc算法與垃圾收集器

概述垃圾收集 Garbage Collection 通常被稱爲“GC”,它誕生於1960年 MIT 的 Lisp 語言,經過半個多世紀,目前已經十分成熟了。jvm 中,程序計數器、虛擬機棧、本地方法棧都是隨線程而生隨線程而滅,棧幀隨着方法的

原创 volatile關鍵字詳解

Volatile的特徵:A、禁止指令重排(有例外) B、可見性Volatile的內存語義:當寫一個volatile變量時,JMM會把線程對應的本地內存中的共享變量值刷新到主內存。當讀一個volatile變量時,JMM會把線程對應的本地內存置

原创 zookeeper簡介

ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,它包含一個簡單的原語集,分佈式應用程序可以基於它實現同步服務,配置維護和命名服務等。Zookeeper是hadoop的一個子項目,其發展歷程無需贅述。在分佈式應用中,由於工

原创 ActiveMQ簡易入門

ActiveMQ官方下載地址:http://activemq.apache.org/download.html 下載解壓後,執行bin目錄下activemq.bat啓動mq服務找到lib目錄並引入相關jar包Sender消息發送者類pack