原创 設計模式(1)-單例模式

定義 保證只能獲取到一個對象實例,如某輛列車的餘票數量. 示例 1.1 餓漢模式 public class SingletonDemo1 { //構造函數私有,保證不能外部new創建 private Singl

原创 設計模式(10)-責任鏈模式

定義 爲請求的處理創建一個處理鏈條,鏈條上的每個節點都可以對請求作出相應的處理,類似於工廠中的生產線. 責任鏈模式的應用較廣泛,如工作流,FilterChain,Storm對消息的處理等等. 缺點是當處理鏈條較長時,消息經過每

原创 Linux雜記-配置ntp時間同步服務

概念 NTP是網絡時間協議(Network Time Protocol),它是用來同步網絡中各個計算機的時間的協議。 安裝 目標 現集羣有三臺主機,分別爲centos7-1,centos7-2,centos7-3. centos

原创 Java基礎(1)-修飾符與訪問級別

1.訪問修飾符 修飾成員 修飾方法 public 所有可見 所有可見 friendly 同包可見 同包可見 protected

原创 數據結構與算法(6)-冒泡排序,選擇排序,插入排序

1.冒泡排序 相鄰兩個節點從左至右兩兩比較,將大的移至最右端. 冒泡排序的效率 比較O(N的平方),交換O(N的平方) 代碼示例 public class BubbleSort { private int[] a

原创 設計模式(20)-狀態模式

定義 對象有多種不同的狀態,每種狀態由相應的動作觸發.某狀態下可以執行的動作又有限制. 將狀態的切換委託給狀態管理器 示例 模擬電梯的運行過程: 電梯有四種狀態:正在開門,正在關門,正在停止,正在運行 開門動作>進入正在開

原创 數據結構與算法(2)-大O表示法

1.算法的基本特徵 算法是一組可行的,確定的,有窮的對問題的求解方法,具有以下特徵: 有窮性 算法的執行步驟和執行時間必須是有限的. 確切性 算法的每一步必須有明確的定義和描述. 輸入 每個算法必須有明確的輸入 輸出 算法必須的

原创 數據庫(1)-事物的隔離級別

定義 事物是需要保持一致性的一批語句的集合,一個事物中的語句執行需要一定的時間,在此時間內對待外部變化的策略就是隔離級別. 事物的隔離級別有四種:讀未提交,讀已提交,可重複讀,串行化. 安全性依次提高,性能依次下降. 1.讀未提交

原创 Kafka2.10安裝和集羣搭建

1.安裝前準備 jdk1.8.0_171 kafka_2.10-0.10.0.0.tgz 將壓縮包解壓至kafka用戶目錄. 2.配置文件 config/server.properties #修改一下幾項,其他不動 #唯一標識,

原创 設計模式(17)-門面模式

定義 門面模式又稱外觀模式,旨在隱藏各子系統的具體細節,提供一個門面類統一對外交互. 外觀類中一般不做任何業務邏輯的處理,只是做最簡單的對外交互. 示例 如可以暴露一個圖形門面類,可提供繪製圓形,矩形,長方形等方法. 這些方法都是從

原创 數據結構與算法(4)-棧,隊列,優先級隊列

1.棧 先進後出,頭進頭出. 一般基於數組實現. 出棧操作一般不刪除數據,只是指針的移動. 入棧,入棧的時間複雜度都爲O(1). 棧結構主要應用: 校驗表達式語法是否正確,jvm中方法的執行調用等. 代碼:用數組模擬棧結構

原创 數據結構與算法(5)-鏈表,雙端鏈表,有序鏈表,雙向鏈表,迭代器

1.普通鏈表 鏈表結構的每個節點匯包含一個數據域和一個引用域,引用域直接存放下一個節點的地址. 如圖所示: 代碼示例 //鏈節點 public class Link { private String data;

原创 設計模式(16)-觀察者模式

定義 觀察者模式又叫發佈訂閱模式,旨在將被觀察者的動作觸發通知給觀察者. 如redis的發佈訂閱功能,消息隊列的生產者和消費者. 示例 模擬消息隊列生產消費,生產者繼承Observable類,消費者實現Observer接口. Obs

原创 設計模式(11)-裝飾模式

定義 裝飾模式旨在通過裝飾對象橫向擴展被裝飾對象的功能. 裝飾模式和代理模式有些類似,但代理模式旨在屏蔽對原對象的訪問,裝飾模式旨在功能擴展. 示例 原對象具有繪製圓形的功能,現在想要增加爲圓形上色的功能.即可通過裝飾模式解決. 如

原创 設計模式(15)-組合模式

定義 通過樹型結構建立對象間的父子關係. 示例 員工間的管理關係,ceo管理銷售經理和財務經理,每個經理又管理着普通員工. 1.抽象員工類 public abstract class Corp { private String