in Handbook

背景零拷贝(Zero Copy)是一个耳熟能详的术语,众多高性能的网络框架如Netty,Kafka,Rocket MQ都将零拷贝标榜为其特性。那么究竟什么是零拷贝?零拷贝Wikipedia上对零拷贝的解释如下:"Zero-copy" describes computer operations ...

in Troubleshooting

问题描述Spring Quartz是很常用的定时任务框架。把一个Quartz的工程部署到Tomcat中启动,意外地发现,每个Task都在同一时间跑了两次,而本地在开发的过程中却没有问题。问题排查为了防止多线程问题,有部分Task上是加了锁的,类似如下方式:@Component public c...

in HandbookDesign Patterns

经过了两个多月的时间,终于,将常见的设计模式结合例子过了一遍,在此做一个简单的小结。设计模式小结不难发现,应用各种设计模式所带来的好处,都会提到解耦二字。开闭原则要求我们的系统对扩展开放,对修改关闭。高内聚,低耦合的系统,有更高的稳定性与灵活性,也更易于维护。如何来解耦模块之间的关系呢?如果只...

in HandbookDesign Patterns

1 概述责任链模式(Chain of Responsibility Pattern)是常见的行为模式,它将处理器封装成一条处理链,让请求可以在链上传递。链上的处理器自行决定是否对请求进行处理。2 责任链模式一个典型的责任链模式的使用场景是,当一个事件或请求需要被多个处理器处理时。应用责任链模式...

in HandbookDesign Patterns

1 概述备忘录模式(Memento Pattern),又叫Token模式,它提供了一种方式,来捕捉对象某一时刻的内部状态,并将其保存成备忘录(Memento),如此一来,对象可以根据此备忘录恢复到之前的状态。2 备忘录模式几乎所有的编辑器都支持撤销功能,这其实就是备忘录模式的例子,撤销操作,使...