09 2019 档案
摘要:一、简介 观察者模式(发布/订阅模式),定义了对象之间一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 有很多项目都用到了该设计模式,比如Spring的事件机制、消息队列等。 Java提供了两个接口java.util.Observable和java.util.Obs
阅读全文
摘要:一、前言 之前写的一篇文章《细说分布式锁》介绍了分布式锁的三种实现方式,但是Redis实现分布式锁关于Lua脚本实现、自定义分布式锁注解以及需要注意的问题都没描述。本文就是详细说明如何利用Redis实现重入的分布式锁。 二、方案 死锁问题 当一个客户端获取锁成功之后,假如它崩溃了导致它再也无法和 R
阅读全文
摘要:一、前言 责任链模式很多框架都有用到,其中一个经典场景就是Tomcat对HTTP请求的处理。 Tomcat处理HTTP请求时就会处理请求头和请求体两部分,当然,Tomcat的真正实现会将HTTP请求切分成更细的部分进行处理。如果请求各部分的逻辑都在一个类中实现,这个类会非常臃肿。如果请求通过增加新字
阅读全文