自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SayNight

Keep Moving

  • 博客(104)
  • 资源 (6)
  • 收藏
  • 关注

原创 Memcache学习总结

基于内置内存Key-Value形式存储数据(字符串、对象)集群服务器是通过数组+链表方式存储K-V数据基于哈希路由,集群之间不相互通信两阶段哈希:1、Client端通过Hash(一致性hash)算法+Key计算存储节点;2、服务端通过内部Hash(取模)算法+key计算存储位置集群重启之后,该集群对应数据全部丢失。

2023-01-17 13:03:01 523

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

* Bulkhead通过JDK中Semaphore(公平模式)实现并发控制。* 可在运行时修改Bulkhead配置,同时也可订阅对应事件。* Bulkhead是通过抛出BulkheadFullException方式终止请求调用的。

2019-07-12 11:44:12 1434

原创 resilience4j(十一):核心模块Bulkhead源码之Bulkhead基于注解实现原理

resilience4j 核心模块Bulkhead源码之Bulkhead基于注解实现原理.是利用Spring Aop进行增强,@Bulkhead声明在Class上,该Class所有public method会做隔离处理,声明在特定method上,只有该特定method才会做隔离处理。

2019-07-11 17:10:12 1202

原创 resilience4j(十):核心模块RateLimiter源码之RateLimiter核心接口实现

RateLimiter核心接口实现,RateLimiterConfig,AtomicRateLimiter、SemaphoreBasedRateLimiter介绍

2019-07-10 17:06:48 957

原创 resilience4j(九):核心模块RateLimiter源码之RateLimiter内部模块关系

RateLimiter主要分为以下几个模块:限流配置,限流注册,限流事件消费者注册,限流监控指标,限流事件,限流事件处理器,限流事件消费者。

2019-06-18 11:39:00 653

原创 resilience4j(八):核心模块RateLimiter源码之RateLimiter基于注解实现原理

RateLimiterAspect利用Spring Aop进行增强,@RateLimiter声明在Class上,该Class所有public method会做熔断处理,声明在特定method上,只有该特定method才会做熔断处理。

2019-06-17 20:14:07 1287

原创 resilience4j(七):核心模块CircuitBreaker源码之CircuitBreakerEvents

CircuitBreaker向订阅的任何订阅者/消费者发布CircuitBreakerEvents流。

2019-04-12 14:42:26 351

原创 resilience4j(六):核心模块CircuitBreaker源码之CircuitBreakerMetrics

文章目录CircuitBreakerMetrics成员变量RingBitSetCircuitBreakerMetrics熔断器度量指标,熔断器在工作中,熔断相关实际数据,均存储在此。类图关系如下:成员变量private final int ringBufferSize;//熔断在CLOSED,HALF_OPEN状态下的环形区缓冲大小private final RingB...

2019-04-12 12:45:16 892

原创 resilience4j(五):核心模块CircuitBreaker源码之CircuitBreakerState

CircuitBreakerState熔断状态抽象类,内置熔断状态有限机CircuitBreakerStateMachine 来进行熔断状态转换。

2019-04-11 20:37:03 399

原创 resilience4j(四):核心模块CircuitBreaker源码之CircuitBreakerStateMachine

CircuitBreakerStateMachine有限状态机主要是在CLOSED、OPEN、HALF_OPEN三者之间转换,另外还有两种特殊状态: DISABLED、FORCED_OPEN。

2019-04-11 15:17:21 501

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

CircuitBreaker主要分为以下几个模块:熔断器配置,熔断器注册,熔断事件消费者注册,熔断器状态机,熔断器状态及指标,熔断器事件,熔断器事件处理器,熔断器事件消费者。

2019-04-10 21:17:34 432

原创 resilience4j(二):核心模块CircuitBreaker源码之CircuitBreaker基于注解实现原理

CircuitBreakerAspect利用Spring Aop进行增强,@CircuitBreaker 声明在Class上,该Class所有public method会做熔断处理,声明在特定method上,只有该特定method才会做熔断处理。

2019-04-10 15:58:49 1488 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 2245

原创 记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 8224 2

原创 Java线程(十):ThreadPoolExecutor+BlockingQueue线程池示例

源码下载首先定义扩展线程池ExtThreadPoolExecutor  ExtThreadPoolExecutor作用是对线程池的增强,如在初始化线程池时、在线程执行前、执行后等处可添加自定义逻辑。import java.util.concurrent.BlockingQueue;import java.util.concurrent.RejectedExecutionHandler;impo

2017-11-23 10:45:16 773

原创 Java线程(九):ScheduledExecutorService、ScheduledThreadPoolExecutor

ScheduledExecutorService public interface ScheduledExecutorService extends ExecutorService一个 ExecutorService,可安排在给定的延迟后运行或定期执行的命令。schedule 方法使用各种延迟创建任务,并返回一个可用于取消或检查执行的任务对象。ScheduledThreadPoolExecutor

2017-11-06 18:28:28 2442

原创 Java线程(八):ThreadPoolExecutor、RejectedExecutionHandler

ThreadPoolExecutor public class ThreadPoolExecutor extends AbstractExecutorService线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。RejectedExecutionHandler

2017-11-06 17:24:58 636

原创 Java线程(七):AbstractExecutorService、CompletionService、ExecutorCompletionService

AbstractExecutorService、CompletionService、ExecutorCompletionService

2017-11-06 16:00:04 519

原创 Java线程(六):Executor、ExecutorService

Executor public interface Executor执行已提交的 Runnable 任务的对象。此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节、调度等)分离开来的方法。内存一致性效果:线程中将 Runnable 对象提交到 Executor 之前的操作 happen-before 其执行开始(可能在另一个线程中)。通俗地理解是线程的提交与如何执行分离

2017-11-06 14:53:47 379

原创 Java线程(四):Delayed、ScheduledFuture、RunnableScheduledFuture

Delayed、ScheduledFuture、RunnableScheduledFuture

2017-11-06 11:16:01 11032

原创 Java线程(五):Executors、ThreadFactory

Executors public class Executors 一个功能非常强大的辅助类。此包中所定义的 Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 类的工厂和实用方法。此类支持以下各种方法:创建并返回设置有常用配置字符串的 ExecutorService 的方法。创建并返回设置有

2017-11-02 18:23:42 6594

原创 Java线程(三):Callable、Future、RunnableFuture、FutureTask

Callable public interface Callable返回结果并且可能抛出异常的任务。Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。Executors 类包含一些从其他普通形式转换成 Callable 类的实用方法。接口中定义的唯一一个方法。 /**

2017-11-02 17:43:58 473

原创 Java线程(二):Thread、Runnable、ThreadLocal

Thread public class Thread implements Runnable线程 是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。创建新执行线程有两种方法。一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。new Thread().start()。另

2017-11-01 19:06:24 1442

原创 Java线程(一):线程结构图及状态

线程结构图、线程状态及状态转换图

2017-11-01 17:21:16 5850 1

原创 Java常见Lock(五): lock之CyclicBarrier

CyclicBarrier public class CyclicBarrier又名回环栅栏或循环栅栏。可重用。成员变量 /** * 内部类 */ private static class Generation { boolean broken = false; } /** 可重复入锁 */ private fina

2017-10-30 11:45:56 569

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

Semaphore、CountDownLatch、StampedLock

2017-10-27 17:36:41 960

原创 Java常见Lock(三): lock之ReadWriteLock、ReentrantReadWriteLock

ReadWriteLock、ReadWriteLockReadWriteLock

2017-10-26 18:26:26 403

原创 Java常见Lock(二): lock之ReentrantLock

ReentrantLock

2017-10-26 16:50:10 304

原创 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 710

原创 Java常见集合框架(二十二): Map之Dictionary、Hashtable

Dictionary、Hashtable及与HashMap区别

2017-10-25 17:23:55 2119

原创 Java常见集合框架(二十一): Map之ConcurrentMap、ConcurrentHashMap

ConcurrentMap、ConcurrentHashMap

2017-10-24 18:12:07 636

原创 Java常见集合框架(二十): Map之LinkedHashMap、SortedMap、NavigableMap、TreeMap

LinkedHashMap、SortedMap、NavigableMap、TreeMap

2017-10-24 16:03:48 1176

原创 Java常见集合框架(十九): Map之Map、AbstractMap、HashMap

Map、AbstractMap、HashMap

2017-10-20 17:50:34 604

原创 Java常见集合框架(十八): Deque之Deque、BlockingDeque、LinkedBlockingDeque、ArrayDeque

Deque、BlockingDeque、LinkedBlockingDeque、ArrayDeque

2017-10-19 18:46:31 489

原创 Java常见集合框架(十七):Queue总结

BlockingQueue,ArrayBlockingQueue, DelayQueue, LinkedBlockingQueue, PriorityBlockingQueue

2017-10-19 15:40:00 405

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

DelayQueue、PriorityBlockingQueue、PriorityQueue

2017-10-18 18:31:45 758

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

ArrayBlockingQueue public class ArrayBlockingQueue extends AbstractQueue implements BlockingQueue, java.io.Serializable一个由数组支持的有界阻塞队列。队列按 FIFO(先进先出)原则对元素进行排序。试图向已满队列中放入元素会导致操作受阻塞;试图从空队列中提取元素将导致类似阻塞

2017-10-16 18:54:46 319

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

Queue结构图Queue public interface Queue extends Collection在处理元素前用于保存元素的 collection。除了基本的 Collection 操作外,队列还提供其他的插入、提取和检查操作。每个方法都存在两种形式:一种抛出异常(操作失败时),另一种返回一个特殊值(null 或 false,具体取决于操作)。定义的接口如下: /**

2017-10-16 16:36:42 916

原创 Java常见集合框架(十三):Set总结

Set、TreeSet、HashSet、LinkedHashSet、CopyOnWriteArraySet、ConcurrentSkipListSet、EnumSet。

2017-10-13 18:07:26 337

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

ConcurrentSkipListSet、EnumSet

2017-10-13 16:36:04 913

Eclipse代码注释模板

codetemplates.xml

2016-07-07

Python核心编程 第二版

Python核心编程 第二版

2016-07-06

jQuery1.11.0.chm

jQuery1.11.0.chm

2016-06-24

MySQL 5.1参考手册.chm

MySQL 5.1参考手册.chm

2016-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除