原创 多線程高級講解四: 多線程之間的通訊 (wait、notify)

我在寫這個例子的時候,也出了很多問題。 今天頭很痛,好長時間沒弄出來,心情異常的煩躁。   先說下概念吧: 多線程之前通訊,不要想複雜了。他就是一個生產者 與 消費者的概念。   比如說一個生活中的例子(這是基於我的理解自己想的一個例子)

原创 多線程高級講解五: 多線程的Lock鎖,多線程同步、多線程併發的概念

  同步 和 併發 : 對於程序員來說,他們其實是有兩個意思的,一個是多線程層面,一個是網站請求服務器層面。   對於網站的請求層面來說: 同步:就是代碼一步一步的有順序的向下執行。 併發:就是多個請求同時訪問一臺服務器。 對於多線程層面

原创 多線程高級講解二: volatile關鍵字

  首先volatile關鍵字有線程安全問題。 volatile有一個專業術語:保證了可見性,不保證原子性。   首先不使用volatile關鍵字,看看有什麼效果  public class NotUseVolatile impleme

原创 多線程基礎講解五: synchronized使用

多線程的鎖有: synchronized 和 jdk1.5的Lock   先說synchronized的各種用法: 1. 使用任意同一對象做鎖  (一定要是同一對象) 2. 使用this做鎖 3. class字節碼文件做鎖 4. 靜態同步

原创 多線程高級講解三: JDK1.5提供的併發包(API)

java.util.concurrent.atomic包 Classes AtomicBoolean AtomicInteger       比如這個,就是對int類型數據原子性操作的工具類。 AtomicIntegerArray Ato

原创 多線程講解三: 等待線程 (用面試題理解join等待線程)

面試題: 創建3個線程,t1、t2、t3,讓讓t1在t2之前執行,t2在t3之前執行。   核心: 讓其他線程變爲等待狀態,必須讓join方法在其他線程內部調用。   /** * @author: wangqinmin * @dat

原创 多線程講解四: 線程安全問題 (全局變量 與 局部變量,誰會有線程安全問題 ?)

  什麼是線程安全問題: 當多個線程共享同一個全局變量,並做寫的操作的時候,可能會受到其他線程的干擾,導致數據有問題,這種現象就叫做線程安全問題。   全局變量 與 局部變量,誰會有線程安全問題 ? 全局變量纔會有線程安全問題。在方法內部

原创 多線程講解二: 守護線程 (讓你真正的理解守護線程)

其實很多人,對守護線程並不理解。主要原因是: 測試很不好測,有外界因素干擾。   所以這篇文章,只是讓你認識守護線程,理解守護線程,千萬不要糾結於爲什麼用@Test測試 和 用main方法測試。因爲你如果反過來用@Test用main來測,

原创 多線程講解一: 多線程與進程的理解(排除你對多線程的理解誤區)

線程與進程的區別: 1. 系統運行的每一個程序都是一個進程。比如java,QQ,微信,360安全衛士等。 2. 一個進程可能有多個線程。比如java這個進程運行起來後,除了我們寫的程序需要運行, 還有GC回收線程。 總結: 進程是所有線程

原创 SpringCloud版本Hoxton SR5 --- 第九講:分佈式日誌收集-Elasticsearch+Logstash+Kibana(ELK)

有興趣的同學可以看我寫的:SpringCloud版本Hoxton SR5 --- 第一講:認識 先認識認識SpringCloud的一些基本知識。   先講一下原理: 首先在傳統項目中,一臺服務器看日誌,還算方便。但是在分佈式架構的系統中多

原创 Docker之Zipkin服務端部署,及整合RabbitMq、Elasticsearch

--------------------------------- 可愛的分割線 ------------------- 引用我寫的:SpringCloud版本Hoxton SR5 --- 第一講:認識 可以先了解一下 SpringClo

原创 SpringCloud版本Hoxton SR5 --- 第八講:Sleuth 分佈式鏈路跟蹤 整合Zipkin + Elasticsearch持久化

傳送門:SpringCloud版本Hoxton SR5 --- 第一講:認識 先看Sleuth、Zipkin、Elasticsearch 可以完成的功能,或者說他在項目中的定位和作用。   Sleuth比較正式的一些功能描述:(上面那篇文

原创 docker之Elasticsearch鏡像安裝及運行、整合Zipkin

鏡像官網:https://hub.docker.com/     拉取最新版本的Elasticsearch服務(具體指定版本,可以去上面提供的官網找到): docker pull elasticsearch 這時候會出一個報錯問題(意思

原创 在SpringCloud的項目,避不開的Seesion的登錄問題

橫看成嶺側成峯,遠近高低各不同。 不識廬山真面目,只緣身在此山中。   讓你用最輕鬆的方式,不說學會,至少能懂什麼叫springcloud及其組件: SpringCloud版本Hoxton SR5 --- 第一講:認識 接下來,就好好剖析

原创 spring講解一:爲什麼tomcat可以運行SpringMvc項目?對比使用純java代碼 和 純xml配置,如何啓動SpringMvc項目。

爲什麼tomcat會調用java代碼?tomcat和java代碼是兩個獨立的個體,他們如何最後達到tomcat可以運行java代碼的呢? 爲什麼tomcat運行的是Springmvc項目的代碼?爲什麼現在的項目都離不開Springmvc?