原创 java併發編程4.2AQS詳解

環境: jdk1.8 摘要說明: 上一章節我們主要闡述了顯示鎖的使用詳解 本章節主要闡述下AQS原理及其使用: 1.模版方法設計模式 2.AQS詳解 3.AQS實戰 步驟: 1.模版方法模式 模版方法設計模式本質上就是在父類中編排主流程,

原创 java併發編程4.1顯示鎖及其與synchronized關鍵字的比較

環境: jdk1.8 摘要說明: 上一大章節主要闡述了原子操作CAS及常用的原子操作類 本章節主要講述顯示鎖的使用及顯示鎖和synchronized關鍵字的比較 鎖是一種通過多個線程控制對共享資源的訪問的工具。通常,鎖提供對共享資源的獨佔

原创 java併發編程3.1原子操作CAS

環境: jdk1.8 摘要說明: 上一大章節主要闡述了常用的併發工具類的的使用: 本章節主要講述原子操作CAS及常用的原子操作類; CAS是Compare And Set的縮寫,是以一種無鎖的方式實現併發控制。在實際情況下,同時操作同一個

原创 java併發編程2.3併發工具類——Semaphore、Exchange、FutureTask

環境: jdk1.8 摘要說明: 上一章節主要講述兩個工具類CountDownLatch和CyclicBarrier使用及比較; 本章節主要講述其他幾個併發工具類的使用:Semaphore:主要用來控制同時訪問某個特定資源的線程數量,用在

原创 java併發編程2.2併發工具類——CountDownLatch和CyclicBarrier使用及比較

環境: jdk1.8 摘要說明: 上一章節主要講述如何按照fork-join範式如何將大任務劃分成多個小任務分而治之; 從本章節主要講述兩個工具類CountDownLatch和CyclicBarrier使用及比較; CountDownLa

原创 java併發編程2.1併發工具類——Fork-Join

環境: jdk1.8 摘要說明: 上一大章節主要講述線程的基礎概念,線程間的共享及協作; 從本章節開始會介紹併發編程的常用工具類;本章節主要介紹Fork-Join基礎概念及用法 步驟: 1.Fork-Join基礎概念 什麼是分而治之? 分

原创 java併發編程1.3線程間的共享——volatile,ThreadLocal

環境: jdk1.8 摘要說明: 上一張介紹了synchronized關鍵字的使用; 本章節主要講述java內存中的一些相關概念及volatile,ThreadLocal關鍵字的用法; 步驟: 1.基礎概念 本章節我們主要介紹java內存

原创 java併發編程1.4線程間的協作——wait、notify/notifyAll等

環境: jdk1.8 摘要說明: 上兩章我們主要講了線程共享的相關關鍵字的使用方法; 本章節主要講述線程協作的相關概念及一些關鍵字用法 線程間的協作:假設A線程不滿足某個業務條件進行不下去,線程處於等待中;即此時需要等待B線程進行相關操作

原创 java併發編程1.2線程間的共享和協作——synchronized

環境: jdk1.8 摘要說明: 上節我們主要介紹了線程的基礎概念,啓動停止方式,狀態及常用方法 本節主要講述線程間共享和協作的關鍵詞synchronized的使用 步驟: 1.對象鎖 synchronized關鍵字:代表這個方法加鎖,相

原创 java併發編程1.1線程基礎

摘要說明: 本篇文章首先帶領大家瞭解下一些基礎概念,接着介紹下java常用的線程啓動方式; 步驟: 1.基礎概念 CPU核心數和線程數的關係 核心數:線程數=1:1  ;使用了超線程技術後---> 1:2;這裏面指的是同一時刻cpu執行線

原创 nginx學習1.8 配置https

環境: centos6/7,nginx-1.9.15. 摘要說明: 上一篇主要講述nginx下如何配置跨域、緩存、壓縮; 本章節主要講述nginx的https配置; 步驟: 1.https配置 首先我們要確定你的nginx安裝了ssl模塊

原创 nginx學習1.6 nginx內置變量及if語句

環境: centos6/7,nginx-1.9.15. 摘要說明: 上一篇主要講述nginx下的負載均衡的配置; 本章節主要講述nginx的常用內置變量及if語句; 步驟: 1.echo和set echo nginx有個模塊echo,是在

原创 雜記之@Asyns異步調用的正確打開姿勢

環境: spring;spring boot 摘要說明: 項目開發過程中往往會出現需異步調用的情況,以便提高系統的響應速度或者提高部分業務的處理時間; 但異步調用需要根據系統的承受能力做好相關配置,而不是放任隨意使用; 如系統批跑5000

原创 nginx學習1.7 nginx配置跨域(CORS)、防盜鏈(valid_referers)、緩存(expires)、壓縮(gzip)

環境: centos6/7,nginx-1.9.15. 摘要說明: 上一篇主要講述nginx下的常用內置變量及if語句; 本章節主要講述nginx的如何配置跨域、緩存、壓縮; 步驟: 1.跨域 場景:首先我們舉例看看什麼叫做跨域: 當我

原创 nginx學習1.5 nginx負載均衡配置

環境: centos6/7,nginx-1.9.15. 摘要說明: 上一篇主要講述nginx下的一些常用語法; 本章節主要講述nginx的三種負載均衡策略及其相關配置: 步驟: 1.upstream 首先我們看一個負載均衡upstream