MoDou Blog

Thinking will not overcome fear but action will.

设计模式——模板方法模式

设计模式——模板方法模式

设计模式——模板方法模式 定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类不改变算法结构即可冲定义该算法的某些特定步骤。 模板方法模式介绍 也许看定义有些懵逼,但是模板方法模式在设计模式中算是简单的了,仅仅使用了Java的继承机制。但是它的应用是非常广泛的。我们先举个简单的例子让大家对于模板方法模式有个直观的了解。 里面有两个角色 抽象模板角色:完成...

解决Redis集群条件下键空间通知服务器接收不到消息的问题

解决Redis集群条件下键空间通知服务器接收不到消息的问题

解决Redis集群条件下键空间通知服务器接收不到消息的问题 键空间通知介绍 键空间通知使得客户端可以通过订阅频道或模式, 来接收那些以某种方式改动了 Redis 数据集的事件。 可以通过对redis的redis.conf文件中配置notify-keyspace-events参数可以指定服务器发送哪种类型的通知。下面对于一些参数的描述。默认情况下此功能是关闭的。 ...

解决Redis集群条件下键空间通知服务器接收不到消息的问题

解决Redis集群条件下键空间通知服务器接收不到消息的问题

解决Redis集群条件下键空间通知服务器接收不到消息的问题 键空间通知介绍 键空间通知使得客户端可以通过订阅频道或模式, 来接收那些以某种方式改动了 Redis 数据集的事件。 可以通过对redis的redis.conf文件中配置notify-keyspace-events参数可以指定服务器发送哪种类型的通知。下面对于一些参数的描述。默认情况下此功能是关闭的。 ...

设计模式——责任链模式

设计模式——责任链模式

设计模式——责任链模式 使多个对象都有机会处理请求,从而避免了请求发送者和接受者的耦合关系。将这些对象连成一条链,并且沿着这条链传递该请求,直到有对象处理它为止。 从字面意思可以理解,责任链模式重点在链上。只要符合相应的处理逻辑的就进去处理,不然一直传递下去。 所以我们可以得出责任链的通用类图。重点在于每一个链节点的表示。所以需要先抽象出来一个链节点。 其实在程序设计...

设计模式——观察者模式

设计模式——观察者模式

设计模式——观察者模式 观察者模式又称之为发布-订阅模式:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并且被自动的更新。 在日常生活中我们也会碰到许多的观察者模式的例子。例如微信的订阅推送、听收音机、看直播、电脑中的文件系统。所以根据这些实际例子我们不难推导出其实在观察者模式中,我们可以分为观察者和被观察者两个角色。用类图表示如下 ...

设计模式——策略模式

设计模式——策略模式

设计模式——策略模式 定义一组算法,将每个算法都封装起来,并且使得他们之间可以相互替换。 先从一个小例子我们慢慢引出策略模式。例如我们经常初学Java的时候肯定想着做一个计算器,简单的加减乘除运算,现在我们只考虑简单的两个数字的加减。有非常多的实现方式,但是我们初学时脑海中第一浮现的应该是下面的代码。 class Calculator{ private fin...

Mac上最简单明了的利用Docker搭建Redis集群

Mac上最简单明了的利用Docker搭建Redis集群

Mac上最简单明了的利用Docker搭建Redis集群 本文只是记录一下我在Mac上利用Docker搭建Redis集群成功后的步骤,期间走了许多的坑。有许多教程对于Mac用户不友好,搭建成功以后无法进行集群间的通信。 首先说明一下有多简单,如果你机器上已经有了Docker,那么就一个步骤就行。如果没有Docker那么在Docker下载下载一个就行。 接下来我们就开始进行Redis集群的...

验证ArrayList插入同样数据使用指定容量和默认容量的效率

ArrayList

验证ArrayList插入同样数据使用指定容量和默认容量的效率 之前在研究ArrayList源码的时候看到过一篇文章Java 8 容器源码-ArrayList里面说当ArrayList在进行插入的时候,如果容量不够那么就会进行自动扩容,扩容大小是现有容量的1.5倍,具体代码可以参考下面。 此处的默认容量是指当构建空的ArrayList构造函数时给分配的默认数组容量大小,为10。 ...

自定义Docker容器镜像并将其上传到DockerHub中

自定义Docker容器镜像并将其上传到DockerHub中

自定义Docker容器镜像并将其上传到DockerHub中 Docker从2013年发布至今,一直是广受瞩目,所以我们或多或少也应该了解一些Docker的技术原理,而学习一项技术有了兴趣才能更好的让你持续学习下去。如果让你体会到Docker的神奇之处那么兴趣或许会大一点,接下来我们就先从自定义一个自己的Docker容器镜像来开启学习Docker的第一步。 自定义Docker容器镜像 ...

不学无数——徒手撸一个简单的IOC

徒手撸一个简单的IOC

徒手撸一个简单的IOC Spring框架中最经典的两个就是IOC和AOP,其中IOC(Inversion of Control)是什么呢?控制反转,简单来说就是将控制实体Bean的动作交给了Spring容器进行管理。再简单点来说就是例如之前想用一个类,必须new一个,但是使用了Spring那么直接用@Autowired注解或者用xml配置的方式就能直接获得此对象,而且你也不用管它的生命周期...