原创 你真的瞭解volatile嗎?

volatile關鍵字經常在併發編程中使用,其特性是保證可見性以及有序性,但是關於volatile的使用仍然要小心,這需要明白volatile關鍵字的特性及實現的原理,這也是本篇文章的主要內容。 一、Java內存模型 想要理解vo

原创 Java設計模式之單例模式

本篇文章介紹一種設計模式——單例模式,屬於設計模式中的創建型模式,參考文章:設計模式詳解——單例模式 一. 單例模式的概念 定義 作爲對象的創建模式,單例模式確保某一個類只有一個實例,而且自行實例化並向整個系統提供這個實例。這個類

原创 Java設計模式之簡單工廠模式

本篇文章介紹一種設計模式——工廠模式。工廠模式是用來封裝對象的創建,減少應用程序和具體類之間的依賴,促進鬆耦合。根據工廠模式的應用特性,一共分爲三種子模式:簡單工廠模式,工廠方法模式和抽象工廠模式。本篇文章主要介紹簡單工廠模式。本篇文章

原创 堆與堆排序

轉載:白話經典算法系列之七 堆與堆排序  堆排序與快速排序,歸併排序一樣都是時間複雜度爲O(N*logN)的幾種常見排序方法。學習堆排序前,先講解下什麼是數據結構中的二叉堆。二叉堆的定義二叉堆是完全二叉樹或者是近似完全二叉樹。二叉堆

原创 git使用介紹

原文地址:(http://www.jianshu.com/p/072587b47515?utm_source=desktop&utm_medium=timeline) 在日常工作中,經常會用到Git操作

原创 Java設計模式之抽象工廠模式

本篇文章介紹一種設計模式——工廠模式。工廠模式是用來封裝對象的創建,減少應用程序和具體類之間的依賴,促進鬆耦合。根據工廠模式的應用特性,一共分爲三種子模式:簡單工廠模式,工廠方法模式和抽象工廠模式。本篇文章主要介紹抽象工廠模式。文章內容

原创 更新linux系統內核後分辨率問題解決

今天更新了linux系統內核(升級到4.9版本),方法如下: 下載 Linux kernel 4.9的Debian軟件包可以從 http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/ 下載。

原创 docker跨主機容器訪問(網橋實現)

本篇文章主要講述利用網橋方式實現docker跨主機容器訪問,參考文章:Docker網絡基礎---Docker跨主機容器訪問通信 (http://blog.csdn.net/canot/article/details/52895897)

原创 Java設計模式之迭代器模式

本篇文章主要講述設計模式中的迭代器模式,是行爲模式之一,參考文章:23種設計模式(13):迭代器模式 一. 迭代器模式的定義 迭代器模式提供一種方法順序訪問一個聚合對象中的各個元素,而又不暴露其內部的表示。把遊走的任務放在迭代器上,

原创 YARN的架構

YARN是傳統的主從(master/slave)架構,如下圖所示 YARN服務由ResourceManager和NodeManager兩類進程組成,Container是YARN的資源表示模型,在任何類型的計算框架的作業都可以運行在

原创 mesos集羣安裝

mesos安裝攻略:(安裝環境ubuntu14.04,安裝過程中保持儘量聯網狀態) 在官網下載mesos源碼(我用的mesos-1.2.0)利用 ./configure(檢查安裝環境,如編譯環境和所需依賴包是否安裝,生成makefile文

原创 NameNode和SecondaryNameNode關係解析

HDFS集羣在啓動後會有三個守護進程:NameNode,SecondaryNameNode和DataNode。我們都知道DataNode是用來存放數據的位置,那麼NameNode和SecondaryNameNode的關係又是怎麼樣的呢?

原创 MapReduce的過程

在MapReduce的過程中,一個作業被分成map和reduce計算兩個階段,他們分別由一個或者多個map任務和reduce任務組成,如下圖所示,一個MapReduce作業從數據的流向可以被切分爲Map任務和Reduce任務。Reduc

原创 上傳docker鏡像到docker hub

Docker hub地址爲[https://www.docker.com/] 先創建自己的鏡像倉庫: 註冊成功後點擊sign in登錄進去 點擊create repository 填寫好name,點擊create即創建成功

原创 虛擬機類加載機制

一. 類加載的時機 類的生命週期 如圖,加載,驗證,準備,初始化和卸載這5個階段的順序是確定的,類的加載過程必須按照這種順序按部就班的開始,這裏筆者寫的是按部就班的“開始”,而不是“進行”或者“完成”,強調這點是因爲這些階段通常都