原创 Java常見Lock(四):lock之Semaphore、CountDownLatch、StampedLock

Semaphore public class Semaphore implements java.io.Serializable 一個計數信號量。 通常用於限制可以訪問某些資源(物理或邏輯的)的線程數目。  從概念上講,信

原创 Java常見集合框架(十一):Set之LinkedHashSet、CopyOnWriteArraySet

##LinkedHashSet public class LinkedHashSet extends HashSet implements Set, Cloneable, Serializable 具有可預知迭代順序的 Se

原创 resilience4j(二):核心模塊CircuitBreaker源碼之CircuitBreaker基於註解實現原理

@CircuitBreaker 原理是利用Spring Aop進行增強,@CircuitBreaker 聲明在Class上,該Class所有public method會做熔斷處理,聲明在特定method上,只有該特定method

原创 Java常見集合框架(十四):Queue之Queue、BlockingQueue、AbstractQueue

Queue結構圖 Queue public interface Queue extends Collection 在處理元素前用於保存元素的 collection。 除了基本的 Collection 操作外,隊列還提供其他

原创 resilience4j(十一):核心模塊Bulkhead源碼之Bulkhead基於註解實現原理

@Bulkhead 原理是利用Spring Aop進行增強,@Bulkhead聲明在Class上,該Class所有public method會做隔離處理,聲明在特定method上,只有該特定method纔會做隔離處理。 Bul

原创 resilience4j(三):核心模塊CircuitBreaker源碼之CircuitBreaker、State、StateTransition、EventPublisher、Metrics

文章目錄CircuitBreaker各模塊間關係StateStateTransitionCircuitBreaker.EventPublisherMetrics CircuitBreaker CircuitBreaker主要分爲

原创 resilience4j(一):resilience4j-spring-boot2-demo

resilience4j-spring-boot2-demo github demo下載後,直接運行WebApplication.java即可 demo演示resilience4j核心組件如何與spring-boot2結合使用

原创 resilience4j(十二):核心模塊Bulkhead源碼之Bulkhead、SemaphoreBulkhead

文章目錄Bulkhead各模塊間關係Bulkhead接口介紹核心配置核心流程圖BulkheadEventSemaphoreBulkheadisCallPermitted Bulkhead resilience4j-SpringBo

原创 Java常見集合框架(十三):Set總結

##Set 無重複元素 重寫了equals和hashCode方法 ##TreeSet 基於TreeMap的紅黑樹結構實現。 非同步、fail-fast。 不允許使用NULL元素。 適用於排序、不包含重複元素場景。 ##Ha

原创 Java常見集合框架(十七):Queue總結

##BlockingQueue BlockingQueue相比Queue多了兩個阻塞操作:put、take。 不允許使用NUL元素。 主要用於生產者-使用者隊列。 BlockingQueue 利用ReentrantLock實現線

原创 Java常見集合框架(十六):Queue之DelayQueue、PriorityQueue、PriorityBlockingQueue

##DelayQueue public class DelayQueue extends AbstractQueue implements BlockingQueue Delayed 元素的一個基於優先級的無界阻塞隊列,只有

原创 Java常見集合框架(十五):Queue之ArrayBlockingQueue、LinkedBlockingQueue

ArrayBlockingQueue public class ArrayBlockingQueue extends AbstractQueue implements BlockingQueue, java.io.Seriali

原创 Java常見集合框架(十二):Set之ConcurrentSkipListSet、EnumSet

##ConcurrentSkipListSet public class ConcurrentSkipListSet extends AbstractSet implements NavigableSet, Cloneable,

原创 resilience4j(十):核心模塊RateLimiter源碼之RateLimiter核心接口實現

文章目錄核心流程圖RateLimiterConfigAtomicRateLimiterSemaphoreBasedRateLimiter 核心流程圖 通過下列流程圖(簡化)可看出,限流處理策略即將每次請求根據限流配置判斷是否觸發限

原创 resilience4j(九):核心模塊RateLimiter源碼之RateLimiter內部模塊關係

文章目錄RateLimiter各模塊間關係接口介紹 RateLimiter RateLimiter主要分爲以下幾個模塊:限流配置,限流注冊,限流事件消費者註冊,限流監控指標,限流事件,限流事件處理器,限流事件消費者。 各模塊