原创 Semaphore 簡單使用

文字摘抄於:https://yq.aliyun.com/articles/632589 Semaphore(信號量)是用來控制同時訪問特定資源的線程數量,它通過協調各個線程,以保證合理的使用公共資源。換句話說,鎖(Lock鎖或sy

原创 Slf4j MDC機制及日誌應用實戰

參考:https://blog.csdn.net/xxcupid/article/details/51955356(這個作者寫了一系列,挺容易上手看的) 下面是使用時須知 MDC 是日誌的增強功能,如果配置了MDC,並添加了相應的

原创 HttpClient 詳解

HttpClient 詳解 參考 https://blog.csdn.net/justry_deng/article/details/81042379 感謝大佬分享的demo 自己練習下,記錄只爲了下次更方便的查找,侵權刪 htt

原创 ThreadLocal及應用

threadlocal一個線程內部的存儲類,可以在指定線程內存儲數據,數據存儲以後,只有指定線程可以得到存儲數據。 static final ThreadLocal<T> threadLocal = new ThreadLocal

原创 Atomic XXX 的原子操作

volitale 關鍵字他是不具備原子性的,但是Atomic XXX 都是具備原子性操作 public static void main(String[] args) { //AtomicInteger

原创 Exchanger 簡單瞭解

文字摘要於:https://yq.aliyun.com/articles/632589 Exchanger(交換者)是一個用於線程間協作的工具類。Exchanger用於進行線程間的數據交換。它提供一個同步點,在這個同步點,兩個線程

原创 多線程 condition 使用

Condition是在java 1.5中才出現的,它用來替代傳統的Object的wait()、notify()實現線程間的協作,相比使用Object的wait()、notify(),使用Condition的await()、sign

原创 CountDownLatch 使用場景

/** * 第一個使用場景 * 數據使用多線程的方式處理 */ public class CountDownLatchTest { private static ExecutorService executor =

原创 phaser 使用

摘抄: https://www.jianshu.com/p/1517a379fb91 可參考: https://www.iteye.com/blog/shift-alt-ctrl-2302923 常用方法 1,設定任務數(這是官方

原创 Spring控制反轉和依賴注入

1.有A和B兩個類,都有m1 的方法 public class A{ public void m1(){} } public class B{ public void m1(); } 2.現在我們調用B的m1

原创 spring創建bean的幾種實例

spring創建bean的四種常用實例 通過反射調用構造方法創建bean對象 通過靜態工廠方法創建bean對象 通過實例工廠方法創建bean對象 通過FactoryBean創建bean對象 通過反射調用構造方法創建bean對象

原创 Spring容器基本使用及原理

IOC容器 IOC容器是具有依賴注入功能的容器,負責對象的實例化、對象的初始化,對象和對象之間依賴關係配置、對象的銷燬、對外提供對象的查找等操作,對象的整個生命週期都是由容器來控制。我們需要使用的對象都由ioc容器進行管理,不需要

原创 代理模式(轉載)

https://blog.csdn.net/yangbaggio/article/details/89950200

原创 Java中的委託和繼承(Delegation and Inheritance)

https://blog.csdn.net/Seriousplus/article/details/80462722#%E5%86%99%E5%9C%A8%E5%89%8D%E9%9D%A2 這個博主大大寫的真的好

原创 TreeMap\TreeSet和ConcurrentSkipListMap\ConcurrentSkipListSet

ConcurrentSkipListMap提供了一種線程安全的併發訪問的排序映射表。內部是SkipList(跳錶)結構實現,在理論上能夠在O(log(n))時間內完成查找、插入、刪除操作。 SkipList是一種紅黑樹的替代方案,