原创 淺談消息中間件之RabbitMQ(基礎篇)

  什麼是rabbitMQ? rabbitMQ有什麼特點? rabbitMQ能夠做什麼? rabbitMQ架構? rabbitMQ進程模型? rabbitMQ爲什麼要使用信通channel? Exchange(交換機)與交換機的類型? Q

原创 XML的4種解析方式比較

目錄 XML簡介 xml用途 XML的解析方式 解析方式對比 XML簡介 XML 指可擴展標記語言(EXtensible Markup Language),常用於簡化數據的存儲和共享。 xml用途 1.XML 把數據從 HTM

原创 java虛擬機(上篇)內存模型

目錄   jvm與jdk、jre關係圖 JVM的生命週期 JVM內存結構 虛擬機運行時內存空間分配 程序計數器 本地方法棧 棧 元空間(方法區) 常量池詳解 堆 (GC)垃圾回收器 垃圾收集器分類 解析器和編譯器 jvm與jdk、jre關

原创 架構之路之設計模式

目錄 單例模式 工廠模式   爲什麼需要設計模式 設計模式是軟件設計中常見問題的通用可重用的解決方案,與語言無關。通過引入設計模式,可以更好的提高代碼複用性、靈活性、擴展性。程序設計原則 程序設計也需要遵循很多原則,開閉原則就是說對擴展開

原创 併發編程上(基礎篇)

進程與線程 進程:系統資源調度與分配的基本單位,一個進程至少有一個線程,進程裏面的線程共享進程資源(網絡、磁盤空間、內存) 線程:cpu分配的基本單位(CPU資源共享) 線程共享區和線程獨享區   線程的生命週期 新建狀態(new)

原创 java虛擬機(下篇)性能調優

JVM性能調優 轉載: JVM調優總結(一)-- 一些概念 轉載: JVM調優總結(二)-- 一些概念 轉載: JVM調優總結(三)-- 基本垃圾回收算法 轉載: JVM調優總結(四)-- 垃圾回收面臨的問題 轉載: JVM調優總結(五)

原创 算法導論之算法基礎學習一

插入排序 原理:有一個已經有序的數據序列,要求在這個已經排好的數據序列中插入一個數,但要求插入後此數據序列仍然有序。 代碼實例:         循環不變式 目的:主要是來幫忙我們理解算法的正確性; 證明: 循環的第一次迭代之前,它爲真

原创 大數據Hadoop之MapReduce

(一) 什麼是MapReduce?  (1).概念 官網上原話翻譯成中文這麼說的:Hadoop MapReduce是一個用於輕鬆編寫應用程序的軟件框架,它以可靠的容錯方式在大型羣集(數千個節點)的商品硬件上並行處理海量數據(多TB數據

原创 網絡調用之RPC

RPC是什麼? RPC工作原理? RPC實例解析? 什麼是rpc?     rpc就是遠程過程調用,通過網絡向遠程計算機上請求服務,而不需要去了解底層的網絡技術的協議。。RPC協議假定某些傳輸協議的存在,如TCP或UDP,爲通信程序之間攜

原创 線程池框架Executor(併發編程篇)

目錄 爲什麼引入Executor線程池框架 Executor原理 Executor生命週期 Executor框架介紹與使用 ThreadPoolExecutor 線程池類 ExecutorService接口 Executor接口 Sche

原创 常用併發工具、併發容器(併發編程篇)

目錄 jdk-api中文手冊 常用的併發工具類 常用併發容器 併發容器有哪些分類 jdk-api中文手冊 常用的併發工具類 CountDownLatch:允許一個或多個線程等待直到在其他線程中執行的一組操作完成的同步輔助。 可以理解爲:

原创 CAS底層原理(併發編程篇)

目錄 CAS原子性操作 CAS底層原理 CAS源碼解析 證明 CAS採用自旋高效解決了原子性問題,存在三個缺點: CAS原子性操作 Compare And Set(或Compare And Swap),CAS是解決多線程並行情況下使用鎖造

原创 volatile底層原理(併發編程篇)

目錄 學習volatile之前需要掌握 工作空間與主內存之間的交互 volatile的定義 Volatile關鍵字的語義分析 問題:10個線程分別對線程執行1000次i++操作,結果一定是10000嗎? volatile的使用場景 vol

原创 JAVA內存模型、指令重排序、happens-before原則(併發編程篇)

目錄   硬件內存模型 Java線程與硬件處理器關係 java內存模型 工作空間與主內存之間的交互 併發編程三個特性 併發編程的特性保證   硬件內存模型   目前的CPU爲了提高性能,CPU不會直接會內存交互而是先與緩存交互,僅當讀取

原创 Java對象的組成

目錄 jvm與hotspot和openJdk關係 對象的組成 jvm與hotspot和openJdk關係 jvm定義虛擬機規範、標準; hotspot實現了jvm規範(sum公司的)、其他公司也可以自己實現自己的虛擬機,如阿里巴巴的虛擬機