前言相信很多人在看HTTP协议相关的文章时,都能看到这么一句话:HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默认都是长连接。 那怎样算是把HTTP变成长连接?是不是只要设置Connection为keep-alive就可以了? 如果是的话,都说HTTP1.1默认是长连接,而观察平时开 ...
Java - LongAdder
CAS有没有问题呢?肯定是有的。比如说大量的线程同时并发修改一个AtomicLong,可能有很多线程会不停的自旋,进入一个无限重复的循环中。这些线程不停地获取值,然后发起CAS操作,但是发现这个值被别人改过了,于是再次进入下一个循环,获取值,发起CAS操作又失败了,再次进入下一个循环。在大量线程高并 ...
MySQL-索引结构
BTree索引BTree(多路搜索树,并不是二叉的)是一种常见的数据结构。 不适合: 单列索引的列不能包含null的记录,复合索引的各个列不能包含同时为null的记录,否则会全表扫描;索引失效很多时候是因为这列有null,空值不适合键值较少的列(重复数据较多的列);假如你建立了,会发生什么情况呢?查 ...
IDEA使用FindBugs插件
下载安装在Idea中,打开”File”–>”Settings”,或者使用快捷键”Ctrl+Alt+S”打开设置窗口: 在设置窗口找到** plugins *标签页,然后点击下方的 * Browse Repositories **: 在新打开的Browse Repositories窗口搜索fin ...
设计模式-责任链模式
模式定义责任链模式(Chain of Responsibility) 是行为型设计模式之一,其将链中每一个节点看作是一个对象,每个节点处理的请求均不同,从而避免了请求的发送者和接收者之间的耦合关系,且内部自动维护一个下一节点对象。当一个请求从链式的首端发出时,会沿着链的路径依次传递给每一个节点对象, ...
Spring Cloud初识
业务场景Spring Cloud是一个全家桶式的技术栈,包含了很多组件,比如Eureka、Ribbon、Feign、Hystrix、Zuul等。下面通过一个业务场景初步了解下Spring Cloud微服务架构中,这几个组件如何相互协作,各自发挥各自的作用以及其背后的原理。 假设要开发一个电商网站,要 ...
设计模式-适配器模式
模式定义将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。 适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 主要作用提供一个转换器(适配器),将当前系统存在的一个对象转化为客户端能够访问的接口对象。 模式分类根据适配器类与适配者类 ...
设计模式-观察者模式
模式定义观察者模式(Observer Pattern),又叫 发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式 或 从属者(Dependents)模式。 观察者模式 是对象的行为模式,定义了一种一对多的依赖 ...