原创 Java 多線程:多線程產生的原因

包括: 一. Java 內存模型 二. i ++ 操作的實質 三. Java 多線程產生的原因 四. 總結 一. Java 內存模型 線程之間的共享變量存儲在主內存(main memory)中,每個線程都有一個私有的本地內存(local

原创 數據結構:隊列的概念和實現

包括: 一. 隊列的概念 二. 順序存儲結構 和 鏈式存儲結構的 隊列的實現 一. 隊列的概念         隊列即在表的一端進行插入,在表的另一端進行刪除。刪除的一端稱爲隊頭或者隊首,插入的一端稱爲隊尾。插入元素稱爲進隊或者入隊,刪

原创 Oauth2 簡介

包括: 一. OAuth 概念 二. OAuth 運行流程 三. OAuth 授權模式 一. OAuth 概念         OAuth 是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯繫人

原创 Java 集合:Map 系列(HashMap,HashTable)

包括: 一. Map 介紹 二. HashMap 介紹 三. HashTable 介紹 一. Map        Map 是把鍵映射到值,也就是以一個鍵值對的形式存儲。一個映射不能包含重複的鍵,一個鍵只能有一個值。某些映

原创 Java JVM:內存結構和相關參數

包括: 一. Java 整體內存結構 二. Java 堆內存結構 三. Java 堆內存和非堆內存參數 一. Java 整體內存結構 以下針對JDK7: 圖1 如圖1,JVM內存區域分爲PC寄存器,JVM方法棧,本地方法棧,

原创 Java IO:基於字節的IO操作

包括: FileInputStreamByteArrayInputStreamObjectInputStreamBufferedInputStreamDataInputStream 上面 5 個爲常用的基於字節操作的 IO 操作類,其中

原创 Java 多線程:AtomicInteger源碼分析——基於CAS的樂觀鎖實現

AtomicInteger源碼分析——基於CAS的樂觀鎖實現 1. 悲觀鎖與樂觀鎖         我們都知道,cpu是時分複用的,也就是把cpu的時間片,分配給不同的thread/process輪流執行,時間片與時間片之間,需

原创 Java JVM:內存溢出問題

包括: 一. 棧溢出(StackOverflowError) 二. 堆溢出(OutOfMemoryError:java heap space) 三. 永久代溢出(OutOfMemoryError: PermGen space)

原创 Java 集合:Map 系列(ConcurrentHashMap概念)

        ConcurrentHashMap 是 JDK5 中支持高併發,高吞吐量的線程安全HashMap 的實現。它支持完全併發的讀和一定程度的併發的寫。         ConcurrentHashMap允許多個修改操作併發的

原创 Java JVM:編譯加載與自定義類加載器

包括: 一. 編譯機制  二. 類加載機制  三.自定義類加載器 一. 編譯機制         編譯主要是把 .java 文件轉換爲 .class 文件。其中轉換後的 .class 文件就包含了元數據,方法信息等一些信息。比

原创 Vim 常用命令

效率至上。 一. 光標的移動 ctrl + f  : 向下翻頁。ctrl + b : 向上翻頁。n<space> : 向右移動 n 個字符。 (例如 輸入20,然後再空格鍵 光標就會向右移動20個字符 )Nh :向左移動 N 個字符。

原创 Java 多線程:ThreadLocal 多線程同步關鍵字

包括: 一. 什麼是 ThreadLocal 二. ThreadLocal 類中的方法簡介 三. 如何使用ThreadLocal      3.1 3個線程共享一個對象,各自產生序列號      3.2 例子:共享變量a,

原创 Docker:常用命令

容器相關: docker ps :列出正在運行的容器docker ps -a : 列出所有的容器docker stop 容器Id : 停止容器的運行docker rm 容器Id:刪除容器(需要先停止)docker exec -it 容器

原创 持續集成-Docker 與 DaoCloud 的實踐(一)

一. 前言 二. DaoCloud 持續集成 的 實現 三. 總結 一. 前言 什麼是持續集成:http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html。 持續

原创 Java 多線程:volatile 多線程同步關鍵字

volatile 也是 多線程的解決方案之一。volatile 能夠保證 可見性,但是不能保證原子性。它只能作用於變量,不能作用於方法。當一個變量被聲明爲 volatile 的時候,任何 對該變量的讀寫都會繞過 高速緩存,直接讀取主內存的