摘要:
相关配置 状态图 执行流程 命令执行前调用 ,正常情况下会执行返回true,但是如果发生熔断,则需要通过sleepWindows来进行恢复 发生熔断流程 在新版本1.5.12中,会有一个后台线程订阅metrics流实时计算: 1. 如果没有达到RequestVolume,则直接返回,不计算是否需要熔 阅读全文
摘要:
概要 1. Redis Modules System基本概念 2. 基本应用 3. 参考资料 1. Redis Modules System基本概念 Redis Modules System是4.0出现一大改动点,使得可以通过外部模块对Redis进行功能性扩展。 Redis的模块采用的是动态链接库的 阅读全文
摘要:
转载请注明出处:http://www.cnblogs.com/jabnih/ 1. 基本原理 1.1 为什么会出现Pipeline Redis本身是基于Request/Response协议的,正常情况下,客户端发送一个命令,等待Redis应答,Redis在接收到命令,处理后应答。在这种情况下,如果同 阅读全文
摘要:
Redis事务原理分析 基本应用 在Redis的事务里面,采用的是乐观锁,主要是为了提高性能,减少客户端的等待。由几个命令构成:WATCH, UNWATCH, MULTI, EXEC, DISCARD。 通过WATCH,可以实现CAS操作。使用WATCH监听一些键,然后去检查键的值,然后根据键的值来 阅读全文
摘要:
Java NIO原理分析 这里主要围绕着Java NIO展开,从Java NIO的基本使用,到介绍Linux下NIO API,再到Java 其底层的实现原理。 Java NIO基本使用 Linux下的NIO系统调用介绍 Selector原理 Channel和Buffer之间的堆外内存 Java NI 阅读全文
摘要:
@(Java)[Reference] Java Reference 源码分析 对象封装了其它对象的引用,可以和普通的对象一样操作,在一定的限制条件下,支持和垃圾收集器的交互。即可以使用Reference对象来引用其它对象,但是最后还是会被垃圾收集器回收。程序有时候也需要在对 阅读全文
摘要:
@(JDK)[AtomicInteger] JDK AtomicInteger 源码分析 Unsafe 实例化 Unsafe在创建实例的时候,不能仅仅通过 或者 来获取,因为Java会进行安全校验,只有信任的代码,才能够获取实例。 要达到上述对应的ClassLoader为空,只有通过BootStra 阅读全文
摘要:
@(JDK)[包装类] Java 包装类笔记 当需要使用到集合的时候,如果是基础数据类型,需要转换为包装类,再使用,在JDK1.5之前,每次使用的时候,都需要手动转换为包装类(称为 装箱 ),然后在使用的时候再转换为基础数据类型( 拆箱 ),这样子会很麻烦,也多冗余的代码,在 阅读全文
摘要:
@(Java ThirdParty)[Spring Cache] Spring Cache Abstraction 简介 Spring Cache提供了对底层缓存使用的抽象,通过注解的方式使用缓存,减少了对原有的侵入性,通过一个抽象层,分离了不同后端缓存的实现,在不改变代码的 阅读全文
摘要:
JDK 源码分析(4)—— HashMap/LinkedHashMap/Hashtable HashMap HashMap采用的是哈希算法+链表冲突解决,table的大小永远为2次幂,因为在初始化的时候,会保证给定的初始容量为2次幂,如下: resize 重新哈希(rehashing),条件是 ,达 阅读全文