- 博客(104)
- 资源 (6)
- 收藏
- 关注
原创 Memcache学习总结
基于内置内存Key-Value形式存储数据(字符串、对象)集群服务器是通过数组+链表方式存储K-V数据基于哈希路由,集群之间不相互通信两阶段哈希:1、Client端通过Hash(一致性hash)算法+Key计算存储节点;2、服务端通过内部Hash(取模)算法+key计算存储位置集群重启之后,该集群对应数据全部丢失。
2023-01-17 13:03:01 570
原创 resilience4j(十二):核心模块Bulkhead源码之Bulkhead、SemaphoreBulkhead
* Bulkhead通过JDK中Semaphore(公平模式)实现并发控制。* 可在运行时修改Bulkhead配置,同时也可订阅对应事件。* Bulkhead是通过抛出BulkheadFullException方式终止请求调用的。
2019-07-12 11:44:12 1542
原创 resilience4j(十一):核心模块Bulkhead源码之Bulkhead基于注解实现原理
resilience4j 核心模块Bulkhead源码之Bulkhead基于注解实现原理.是利用Spring Aop进行增强,@Bulkhead声明在Class上,该Class所有public method会做隔离处理,声明在特定method上,只有该特定method才会做隔离处理。
2019-07-11 17:10:12 1456
原创 resilience4j(十):核心模块RateLimiter源码之RateLimiter核心接口实现
RateLimiter核心接口实现,RateLimiterConfig,AtomicRateLimiter、SemaphoreBasedRateLimiter介绍
2019-07-10 17:06:48 1023
原创 resilience4j(九):核心模块RateLimiter源码之RateLimiter内部模块关系
RateLimiter主要分为以下几个模块:限流配置,限流注册,限流事件消费者注册,限流监控指标,限流事件,限流事件处理器,限流事件消费者。
2019-06-18 11:39:00 731
原创 resilience4j(八):核心模块RateLimiter源码之RateLimiter基于注解实现原理
RateLimiterAspect利用Spring Aop进行增强,@RateLimiter声明在Class上,该Class所有public method会做熔断处理,声明在特定method上,只有该特定method才会做熔断处理。
2019-06-17 20:14:07 1496
原创 resilience4j(七):核心模块CircuitBreaker源码之CircuitBreakerEvents
CircuitBreaker向订阅的任何订阅者/消费者发布CircuitBreakerEvents流。
2019-04-12 14:42:26 500
原创 resilience4j(六):核心模块CircuitBreaker源码之CircuitBreakerMetrics
文章目录CircuitBreakerMetrics成员变量RingBitSetCircuitBreakerMetrics熔断器度量指标,熔断器在工作中,熔断相关实际数据,均存储在此。类图关系如下:成员变量private final int ringBufferSize;//熔断在CLOSED,HALF_OPEN状态下的环形区缓冲大小private final RingB...
2019-04-12 12:45:16 921
原创 resilience4j(五):核心模块CircuitBreaker源码之CircuitBreakerState
CircuitBreakerState熔断状态抽象类,内置熔断状态有限机CircuitBreakerStateMachine 来进行熔断状态转换。
2019-04-11 20:37:03 570
原创 resilience4j(四):核心模块CircuitBreaker源码之CircuitBreakerStateMachine
CircuitBreakerStateMachine有限状态机主要是在CLOSED、OPEN、HALF_OPEN三者之间转换,另外还有两种特殊状态: DISABLED、FORCED_OPEN。
2019-04-11 15:17:21 574
原创 resilience4j(三):核心模块CircuitBreaker源码之CircuitBreaker、State、StateTransition、EventPublisher、Metrics
CircuitBreaker主要分为以下几个模块:熔断器配置,熔断器注册,熔断事件消费者注册,熔断器状态机,熔断器状态及指标,熔断器事件,熔断器事件处理器,熔断器事件消费者。
2019-04-10 21:17:34 468
原创 resilience4j(二):核心模块CircuitBreaker源码之CircuitBreaker基于注解实现原理
CircuitBreakerAspect利用Spring Aop进行增强,@CircuitBreaker 声明在Class上,该Class所有public method会做熔断处理,声明在特定method上,只有该特定method才会做熔断处理。
2019-04-10 15:58:49 1696 2
原创 resilience4j(一):resilience4j-spring-boot2-demo
resilience4j 是一个轻量级的容错组件,其灵感来自于 Hystrix,但主要为 Java 8 和函 数式编程所设计。轻量级体现在其只用 Vavr 库(前身是 Javaslang),没有任何外部依 赖。而 Hystrix 依赖了 Archaius ,Archaius 本身又依赖很多第三方包,例如 Guava、 Apache Commons Configuration 等。
2019-04-09 11:21:56 2323
原创 记Spring Boot多模块(跨module)@Resource、@Autowired等bean注入 NULL问题
在启动类上加上@SpringBootApplication(scanBasePackages = {“com.saynight”}) 或者@SpringBootApplication及@ComponentScan(basePackages = {“com.saynight”}) 联合使用依赖Bean加上@Resource、@Autowire注解,依赖Bean.java文件如CircuitBreakerFactory上加上@Service、@Component注解。注意bean初始化时代码执行顺序。
2019-04-03 21:50:47 8491 2
原创 Java线程(十):ThreadPoolExecutor+BlockingQueue线程池示例
源码下载首先定义扩展线程池ExtThreadPoolExecutor ExtThreadPoolExecutor作用是对线程池的增强,如在初始化线程池时、在线程执行前、执行后等处可添加自定义逻辑。import java.util.concurrent.BlockingQueue;import java.util.concurrent.RejectedExecutionHandler;impo
2017-11-23 10:45:16 843
原创 Java线程(九):ScheduledExecutorService、ScheduledThreadPoolExecutor
ScheduledExecutorService public interface ScheduledExecutorService extends ExecutorService一个 ExecutorService,可安排在给定的延迟后运行或定期执行的命令。schedule 方法使用各种延迟创建任务,并返回一个可用于取消或检查执行的任务对象。ScheduledThreadPoolExecutor
2017-11-06 18:28:28 2514
原创 Java线程(八):ThreadPoolExecutor、RejectedExecutionHandler
ThreadPoolExecutor public class ThreadPoolExecutor extends AbstractExecutorService线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。RejectedExecutionHandler
2017-11-06 17:24:58 687
原创 Java线程(七):AbstractExecutorService、CompletionService、ExecutorCompletionService
AbstractExecutorService、CompletionService、ExecutorCompletionService
2017-11-06 16:00:04 547
原创 Java线程(六):Executor、ExecutorService
Executor public interface Executor执行已提交的 Runnable 任务的对象。此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节、调度等)分离开来的方法。内存一致性效果:线程中将 Runnable 对象提交到 Executor 之前的操作 happen-before 其执行开始(可能在另一个线程中)。通俗地理解是线程的提交与如何执行分离
2017-11-06 14:53:47 398
原创 Java线程(四):Delayed、ScheduledFuture、RunnableScheduledFuture
Delayed、ScheduledFuture、RunnableScheduledFuture
2017-11-06 11:16:01 11114
原创 Java线程(五):Executors、ThreadFactory
Executors public class Executors 一个功能非常强大的辅助类。此包中所定义的 Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 类的工厂和实用方法。此类支持以下各种方法:创建并返回设置有常用配置字符串的 ExecutorService 的方法。创建并返回设置有
2017-11-02 18:23:42 6703
原创 Java线程(三):Callable、Future、RunnableFuture、FutureTask
Callable public interface Callable返回结果并且可能抛出异常的任务。Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。Executors 类包含一些从其他普通形式转换成 Callable 类的实用方法。接口中定义的唯一一个方法。 /**
2017-11-02 17:43:58 506
原创 Java线程(二):Thread、Runnable、ThreadLocal
Thread public class Thread implements Runnable线程 是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。创建新执行线程有两种方法。一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。new Thread().start()。另
2017-11-01 19:06:24 1496
原创 Java常见Lock(五): lock之CyclicBarrier
CyclicBarrier public class CyclicBarrier又名回环栅栏或循环栅栏。可重用。成员变量 /** * 内部类 */ private static class Generation { boolean broken = false; } /** 可重复入锁 */ private fina
2017-10-30 11:45:56 588
原创 Java常见Lock(四):lock之Semaphore、CountDownLatch、StampedLock
Semaphore、CountDownLatch、StampedLock
2017-10-27 17:36:41 1042
原创 Java常见Lock(三): lock之ReadWriteLock、ReentrantReadWriteLock
ReadWriteLock、ReadWriteLockReadWriteLock
2017-10-26 18:26:26 422
原创 Java常见Lock(一): lock之Condition、ConditionObject、LockSupport
lock结构图图git地址 Condition public interface Condition Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set(wait-set)。Lock 替代了 synchronized 方法和语句的使用,Cond
2017-10-26 15:24:24 762
原创 Java常见集合框架(二十二): Map之Dictionary、Hashtable
Dictionary、Hashtable及与HashMap区别
2017-10-25 17:23:55 2168
原创 Java常见集合框架(二十一): Map之ConcurrentMap、ConcurrentHashMap
ConcurrentMap、ConcurrentHashMap
2017-10-24 18:12:07 674
原创 Java常见集合框架(二十): Map之LinkedHashMap、SortedMap、NavigableMap、TreeMap
LinkedHashMap、SortedMap、NavigableMap、TreeMap
2017-10-24 16:03:48 1222
原创 Java常见集合框架(十八): Deque之Deque、BlockingDeque、LinkedBlockingDeque、ArrayDeque
Deque、BlockingDeque、LinkedBlockingDeque、ArrayDeque
2017-10-19 18:46:31 528
原创 Java常见集合框架(十七):Queue总结
BlockingQueue,ArrayBlockingQueue, DelayQueue, LinkedBlockingQueue, PriorityBlockingQueue
2017-10-19 15:40:00 433
原创 Java常见集合框架(十六):Queue之DelayQueue、PriorityQueue、PriorityBlockingQueue
DelayQueue、PriorityBlockingQueue、PriorityQueue
2017-10-18 18:31:45 798
原创 Java常见集合框架(十五):Queue之ArrayBlockingQueue、LinkedBlockingQueue
ArrayBlockingQueue public class ArrayBlockingQueue extends AbstractQueue implements BlockingQueue, java.io.Serializable一个由数组支持的有界阻塞队列。队列按 FIFO(先进先出)原则对元素进行排序。试图向已满队列中放入元素会导致操作受阻塞;试图从空队列中提取元素将导致类似阻塞
2017-10-16 18:54:46 340
原创 Java常见集合框架(十四):Queue之Queue、BlockingQueue、AbstractQueue
Queue结构图Queue public interface Queue extends Collection在处理元素前用于保存元素的 collection。除了基本的 Collection 操作外,队列还提供其他的插入、提取和检查操作。每个方法都存在两种形式:一种抛出异常(操作失败时),另一种返回一个特殊值(null 或 false,具体取决于操作)。定义的接口如下: /**
2017-10-16 16:36:42 953
原创 Java常见集合框架(十三):Set总结
Set、TreeSet、HashSet、LinkedHashSet、CopyOnWriteArraySet、ConcurrentSkipListSet、EnumSet。
2017-10-13 18:07:26 357
原创 Java常见集合框架(十二):Set之ConcurrentSkipListSet、EnumSet
ConcurrentSkipListSet、EnumSet
2017-10-13 16:36:04 940
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人