问:给予一个字符串为:']]][]]]][[[[[[]]]]',请写出程序求出其有多少对'[]'? 一般这种问题都是想让你通过数据结构去处理,仔细回想一下我们学过的数据结构,栈的先进后出是否能处理这个问题?将字符串遍历,遇到左方括号 '[' 时将其压入栈中,遇到右方括号 ']'时取出栈顶元素匹配,并 ...
分类:
编程语言 时间:
2019-07-03 10:43:22
阅读次数:
139
模板模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变 ...
分类:
其他好文 时间:
2019-07-02 09:29:41
阅读次数:
104
DR(直接路由)是三种负载均衡模式其中之一,也是使用最多的一种模式,关于该模式的介绍,可以参考博文:LVS负载均衡群集详解,DR的工作模式示意图如下:该模式的原理已经在上面链接的博文中写了下来。现在直接搭建一个基于DR模式的负载均衡群集。环境如下:在上面这个环境中,需要解决的问题有下面几点:1、所有web节点和调度器都配置上VIP:客户端访问VIP(群集的虚拟IP地址)时,若是调度器将请求转发给w
分类:
其他好文 时间:
2019-07-01 18:39:34
阅读次数:
130
组合模式(Composite Pattern),又称部分整体模式,用于把一组相似的对象当做一个单一的对象,组合模式依据树形来组合对象,用来表示部分以及整体层次,为结构型设计模式,它创建来对象组的树形结构。 意图:将对象组合成树形结构以表示“部分-整体”的结构层次,组合模式使得用户对单个对象和组合对象 ...
分类:
其他好文 时间:
2019-06-28 18:07:51
阅读次数:
101
一、概述 一般问题:很多时候我们总是需要记录一个对象的内部状态,这样做的目的就是为了允许用户取消不确定或者错误的操作,能够恢复到他原先的状态,使得他有"后悔药"可吃。 核心方案:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 设计意图:所谓备忘录模式就是在不破坏封装的前 ...
分类:
其他好文 时间:
2019-06-26 17:53:48
阅读次数:
124
一、概述 一般问题:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。 核心方案:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤 ...
分类:
其他好文 时间:
2019-06-26 10:57:44
阅读次数:
123
一、概述 一般问题:一个算法主体架构固定,细节多变 核心方法:定义一个操作中的算法骨架,而将一些步骤延迟到子类中 设计意图:将算法不变的主体提取到抽象父类,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。 ...
分类:
其他好文 时间:
2019-06-24 10:43:01
阅读次数:
114
为什么要使用分布式文件系统呢? 单机时代 初创时期由于时间紧迫,在各种资源有限的情况下,通常就直接在项目目录下建立静态文件夹,用于用户存放项目中的文件资源。如果按不同类型再细分,可以在项目目录下再建立不同的子目录来区分。例如:resources\static\file、resources\stati ...
分类:
其他好文 时间:
2019-06-24 00:49:23
阅读次数:
104
迭代器模式 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 介绍 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。 ...
分类:
其他好文 时间:
2019-06-24 00:40:55
阅读次数:
83
一、理解单例模式 确保类有且只有一个特定类型的对象,并提供全局访问点,单例模式通常用于下列情形,例如日志记录或数据库操作等,避免对同一资源请求的相互冲突。 单例的模式的意图如下: 确保类有且只有一个对象被创建。 为对象提供一个访问点,以使程序可以全局访问该对象。 控制共享资源的并行访问。 实现单例模 ...
分类:
其他好文 时间:
2019-06-23 14:04:30
阅读次数:
109