原创 Java併發編程的藝術(十)——深入理解讀寫鎖ReentrantReadWriteLock

1.讀寫鎖的介紹 在併發場景中用於解決線程安全的問題,我們幾乎會高頻率的使用到獨佔式鎖,通常使用java提供的關鍵字synchronized或者concurrents包中實現了Lock接口的ReentrantLock。它們都是獨佔式獲取鎖

原创 Java併發編程的藝術(十六)——併發容器之ThreadLocal

1. ThreadLocal的簡介 在多線程編程中通常解決線程安全的問題我們會利用synchronzed或者lock控制線程對臨界區資源的同步順序從而解決線程安全的問題,但是這種加鎖的方式會讓未獲取到鎖的線程進行阻塞等待,很顯然這種方式的

原创 Java併發編程的藝術(八)——初識Lock與AbstractQueuedSynchronizer(AQS)

1. concurrent包的結構層次 在針對併發編程中,Doug Lea大師爲我們提供了大量實用,高性能的工具類,針對這些代碼進行研究會讓我們隊併發編程的掌握更加透徹也會大大提升我們對併發編程技術的熱愛。這些代碼在java.util.c

原创 Java併發編程的藝術(九)——徹底理解ReentrantLock

1. ReentrantLock的介紹 ReentrantLock重入鎖,是實現Lock接口的一個類,也是在實際編程中使用頻率很高的一個鎖,支持重入性,表示能夠對共享資源能夠重複加鎖,即當前線程獲取該鎖再次獲取不會被阻塞。在java關鍵字

原创 Java併發編程的藝術(六)——你以爲你真的瞭解final嗎?

1. final的簡介 final可以修飾變量,方法和類,用於表示所修飾的內容一旦賦值之後就不會再被改變,比如String類就是一個final類型的類。即使能夠知道final具體的使用方法,我想對final在多線程中存在的重排序問題也很容

原创 Linux 內核空間與用戶空間

本文以 32 位系統爲例介紹內核空間(kernel space)和用戶空間(user space)。 內核空間和用戶空間 對 32 位操作系統而言,它的尋址空間(虛擬地址空間,或叫線性地址空間)爲 4G(2的32次方)。也就是說一個進程的

原创 FutureTask源碼解析(2)——深入理解FutureTask

Future和Task 在深入分析源碼之前,我們再來拎一下FutureTask到底是幹嘛的。人如其名,FutureTask包含了Future和Task兩部分。 FutureTask實現了RunnableFuture接口,即Runnable

原创 Treiber Stack簡單分析

Abstract Treiber Stack Algorithm是一個可擴展的無鎖棧,利用細粒度的併發原語CAS來實現的,Treiber Stack在 R. Kent Treiber在1986年的論文Systems Programming

原创 FutureTask源碼解析(1)——預備知識

FutureTask 是一個同步工具類,它實現了Future語義,表示了一種抽象的可生成結果的計算。在包括線程池在內的許多工具類中都會用到,弄懂它的實現將有利於我們更加深入地理解Java異步操作實現。 在分析它的源碼之前, 我們需要先了解

原创 Zookeeper

一、概述 Zookeeper 是一個開源的分佈式的,爲分佈式應用提供協調服務的 Apache 項目。 Zookeeper 從設計模式角度來理解:是一個基於觀察者模式設計的分佈式服務管理框架,它負責存儲和管理大家都關心的數據,然後接受觀察者

原创 【Spring Cloud】微服務架構選型方案

1、技術架構 2、組件介紹 1、服務註冊與發現——Eureka 服務註冊與發現中心採用Eureka,以AP爲核心的高可用註冊中心,保證高可用性和最終一致性,server之間互相註冊的replicate機制可以單點註冊、全局感知,通過集羣

原创 Spring技術內幕(4)Spring MVC與Web環境

本章環境 Spring MVC 概述、Web環境中的SpringMVC、上下文在Web容器中的啓動、Spring MVC的設計與實現、Spring MVC視圖的呈現 4.1 SpringMVC概述 在使用Spring MVC的時候,需要

原创 Spring技術內幕(5)數據庫操作組件的實現

本章內容 Spring JDBC的設計與實現、Spring JDBC中模板類的設計與實現、Spring JDBC中RDBMS操作對象的實現、Spring ORM的設計與實現 5.1 Spring JDBC的設計與實現 5.1.1 應用場景

原创 Spring技術內幕(6)Spring事務處理的實現

本章內容 Spring與事務處理、Spring事務處理的設計概覽、Spring事務處理的應用場景、Spring聲明式事務處理、Spring事務處理的設計與實現Spring事務處理器的設計與實現 6.1 Spring與事務處理 6.2 Sp

原创 Spring技術內幕(2)Spring FrameWork的核心:IoC容器的實現

本章內容: Spring IoC容器概述、IoC容器系列的設計與實現:BeanFactory和ApplicationContext、IoC容器初始化過程、IoC容器的依賴注入、容器其他相關特性的設計與實現。 2.1 Spring IoC容