原创 Java併發編程知識點總結(十四)——ThreadLocal實現原理

我本來想自己總結一下ThreadLocal以及關於內存泄漏的知識。但是可能是自己水平不夠,寫出來感感覺沒有很好,這裏推薦一個大佬的兩篇文章吧,寫得很好,我就是通過這兩篇文章瞭解清楚的。 1、併發容器之ThreadLocal 2、一

原创 Java併發編程知識點總結(十七)——LinkedBlockingQueue源碼淺析

(一)、概述 上一篇文章中我們介紹了ArrayBlockingQueue的具體實現,這一篇我們將介紹一個差不多的阻塞隊列,不過是使用鏈表實現的LinkedBlockingQueue。LinkedBlockingQueue是使用兩把

原创 Java併發編程知識點總結(十三)——LockSupport方法總結

文章目錄(一)、LockSupport概述(二)、LockSupport常用方法(三)、LockSupport使用方法 (一)、LockSupport概述 我們在前面分析ReentrantLock以及Condition通信機制的時

原创 Java併發編程知識點總結(十九)——FutureTask的應用

(一)、FutureTask概述 FutureTask的應用場景主要是一個線程需要等待另一個線程的時候可以使用,FutureTask的get()方法會使當前線程阻塞,直到目標線程完成任務返回結果,纔會繼續往下執行。 Future

原创 Java併發編程知識點總結(七)——原子性、有序性、可見性

文章目錄(一)、原子性1.1 原子性的概念1.2 原子性操作1.3 synchronized和volatile對比(二)、有序性(三)、可見性 (一)、原子性 1.1 原子性的概念 原子性指的是一個操作是不可中斷的,要麼全部執行成

原创 Docker下修改容器的配置文件(以MySQL爲例)

1、找到容器對應的ID 使用docker ps命令找到對應的鏡像id 2、根據容器id進入到對應文件夾 執行命令:docker exec -it 鏡像id /bin/bash 3、進入對應目錄(以MySQL爲例) 執行命令cd

原创 Java併發編程知識點總結(二十一)——FutureTask的應用

(一)、FutureTask概述 FutureTask的應用場景主要是一個線程需要等待另一個線程的時候可以使用,FutureTask的get()方法會使當前線程阻塞,直到目標線程完成任務返回結果,纔會繼續往下執行。 Future

原创 Java併發編程知識點總結(十六)——ArrayBlockingQueue源碼淺析

(一)、概述 上一篇文章中,我們介紹了阻塞隊列的接口BlockingQeue,這一篇我們來介紹一下ArrayBlockingQueue的具體實現。 阻塞隊列通常用於生產者——消費者的模式中,當阻塞隊列爲空時,獲取數據的線程會被阻塞

原创 Java併發編程知識點總結(十五)——BlockingQueue的各種實現

(一)、生產者-消費者問題 隊列通常被視作線程間操作數據的容器,生產者將“生產”出來的數據放置在數據容器中,消費者只需要在“數據容器”中獲取數據即可。阻塞隊列(BlockingQueue)被廣泛使用在“生產者-消費者”問題中,其原

原创 Docker下修改鏡像的配置文件(以MySQL爲例)

1、找到鏡像對應的ID 使用docker ps命令找到對應的鏡像id 2、根據鏡像id進入到對應文件夾 執行命令:docker exec -it 鏡像id /bin/bash 3、進入對應目錄(以MySQL爲例) 執行命令cd