原创 JUC之線程池的實現原理以及拒絕策略

線程池實現原理 向線程池提交任務後,線程池如何來處理這個任務,之前我們瞭解了7個參數,我們通過這些參數來串聯其線程池的實現原理。 1、在創建了線程池後,開始等待請求 2、當調用execute()方法添加請求任務時: 如果正在運行的線程

原创 JUC之線程池基礎與簡單源碼分析

線程池 定義和方法 線程池的工作時控制運行的線程數量,處理過程中將任務放入隊列,然後在線程創建後啓動這些任務,如果線程數量超過了最大數量,超出數量的線程排隊等候,等待其他線程執行完成,再從隊列中取出任務來執行。 特點: 線程複用,控制最大

原创 JUC之讀寫鎖問題

讀寫鎖 讀寫鎖在同一時刻可以允許多個讀線程訪問,但是在寫線程訪問時,所有的讀線程和其他寫線程均被阻塞。讀寫鎖維護了一對鎖,一個讀鎖和一個寫鎖,通過分離讀鎖和寫鎖,使得併發性相比一般的排他鎖有了很大提升。 讀操作可以多個線程,寫操作只能

原创 JUC之阻塞隊列(BlockingQueue)基礎

阻塞隊列 阻塞隊列(BlockingQueue)是一個支持兩個附加操作的隊列。這兩個附加的操作支持阻塞的插入和移除方法。 阻塞隊列常用於生產者和消費者的場景: 當隊列爲空的,從隊列中獲取元素的操作將會阻塞; 當隊列爲滿的,從隊列中添加元

原创 JUC文章合集

JUC文章彙總 JUC部分將學習《JUC併發編程的藝術》和《尚硅谷-大廠必備技術之JUC併發編程》進行博客的整理,各文章中也會不斷的完善和豐富。 JUC概述 JUC的視頻學習和JUC併發編程的藝術閱讀片段 JUC之Lock接口以

原创 JUC之線程間定製化通信

線程通信之定製化 之前文章中寫了下Condition的使用,這裏我們詳細說下其中的用法: 首先使用Condition需要實例化Lock private Lock lock = new ReentrantLock(); //創建鎖 使用

原创 JUC之Callable接口回顧和JUC輔助類

Callable接口和JUC輔助類 Callable接口: 回顧: 創建線程的四種方式: 繼承Thread 實現runnable接口 實現callable接口 使用線程池 之前的文章:多線程編程1-定義理解與三種實現方式 Runnabl

原创 JUC之線程間的通信

線程通信 對上次多線程編程步驟補充(中部): 創建資源類,在資源類中創建屬性和操作方法 在資源類裏面操作 判斷 幹活 通知 創建多個線程,調用資源類的操作方法 線程通信的實現例子: 兩個線程,實現對一個初始變量爲0進行操作,一個

原创 JUC之多線程鎖問題

多線程鎖 8種問題鎖狀態: 該部分全部圍繞的是以下內容並結合相應的例子:synchronized實現同步的基礎:Java中每個對象都可以作爲鎖。 具體表現爲以下三種形式:(之前只是簡單的瞭解) 對於普通同步方法,鎖是當前實例對象。 對於

原创 JUC之集合中的線程安全問題

集合線程安全問題 JDK Version:9 首先說下集合線程安全是什麼:當多個線程對同一個集合進行添加和查詢的時候,出現異常錯誤。 復現例子: package com.JUC; import java.util.ArrayList;

原创 SpringBoot文章合集

SpringBoot文章合集 SpringBoot合集爲《尚硅谷雷神SpringBoot2零基礎入門(spring boot2)》的學習以及項目中使用知識點進行整理。 SpringBoot自動裝配原理之Configuration以及

原创 JUC之Lock接口以及Synchronized回顧

Lock接口 Synchronized關鍵字回顧: 多線程編程步驟(上): 創建資源類,在資源類創建屬性和操作方法 創建多個線程,調用資源類的操作方法 創建線程的四種方式: 繼承Thread 實現Runnable接口 使用Callab

原创 JUC概述

JUC概述1: 首先是進程和線程的概念: 進程:是指系統在系統中正在運行的一個應用程序,程序一旦運行就是進程,進程是資源分配的最小單位 線程:進程之內獨立執行,是程序執行的最小單位 線程的六大狀態:在線程的枚舉類中  public enum

原创 恆生雲融面經

恆生雲融面經 歇了快一個多月了,今天來水一篇面經 後面會寫一篇秋招尾的總結文章,算是對秋招一週的回顧吧。 Java中的基本類型有哪些: boolean byte 1字節 char short 2字節 int float 4字節 lo

原创 SpringBoot之日誌註解和緩存優化

SpringBoot之日誌註解和緩存優化 日誌註解: 關於SpringBoot中的日誌處理,在之前的文章中頁寫過: 點擊進入 這次通過註解+Aop的方式來實現日誌的輸出; 首先需要定義一個註解類: @Target(ElementType.