上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 35 下一页
摘要: 模板方法模式定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法是的子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模板方法定义了算法的实现步骤,把这些步骤放在子类中实现; 模板方法为我们提供了代码复用的重要技术; 模板方法的抽象类可以定义具体方法; 抽象方法由子类 阅读全文
posted @ 2018-10-08 21:42 使用D 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 字典也称为符号表(symbol table)、关联数组(associative array)或者映射(map)是用于保存键值对(key-value pair)的抽象数据结构。 字典中每个键都是唯一的,程序可以在字典中根据键查询与之关联的值(更新、删除)等。 Redis使用字典作为底层实现,对数据库增 阅读全文
posted @ 2018-10-08 21:11 使用D 阅读(605) 评论(0) 推荐(0) 编辑
摘要: mysql向外扩展(横向扩展或者水平扩展)策略主要有三方面:复制、拆分、数据分片; 水平扩展的最简单的方式就是通过复制将数据分发到多个服务器上,然后将备库用于读查询。复制技术用于以读为主的服务效果最好;但是当数据规模比较大时,复制也有一些问题,例如主从同步间隔时间过长。 数据拆分以及分配方式: 1、 阅读全文
posted @ 2018-10-07 23:15 使用D 阅读(9362) 评论(2) 推荐(0) 编辑
摘要: 类加载器介绍: 从虚拟机的角度说,只存在两种类加载器: 一种是启动类加载器,这个类加载器使用C++编写,是虚拟机自身的一部分; 另一种是所有其他类的加载器,这些类加载器使用Java编写,独立于虚拟机,并且全部继承自抽象类java.lang.ClassLoader; 从Java开发人员的角度看,类加载 阅读全文
posted @ 2018-10-07 02:10 使用D 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 装饰者定义:动态的将责任附加到对象上,想要扩展功能,装饰者提供有别于继承的另一种选择。 解决继承滥用的问题,使用组合的方式在运行时装饰类; 对扩展开放,对修改关闭; 继承属于扩展形式之一,但是也可以使用委托的方式实现扩展; 在设计当中,应该允许行为可以被扩展,而无须修改现有的代码; 组合与委托可以用 阅读全文
posted @ 2018-10-07 00:44 使用D 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 命令模式定义:将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。 命令模式将发出请求的对象(RemoteControl遥控器类)和执行请求的对象(点灯类)解耦; 在被解耦的对象之间通过Command对象进行沟通(例如LightCommand封装Light类的开灯与关灯命令); 阅读全文
posted @ 2018-10-07 00:09 使用D 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 观察者模式定义:定义了对象之间一对多的依赖,这样一来,当一个对象状态发生变化时,它所有的依赖者都会收到通知并自动更新。 个人理解:主题发生变化时,把变化情况及时通知到订阅了主题的各个观察者(订阅者) 观察者模式设计方式让主题 与 观察者 之间实现了松耦合,能够适应变化。 观察者模式定义了对象之间一对 阅读全文
posted @ 2018-10-06 22:11 使用D 阅读(185) 评论(0) 推荐(0) 编辑
摘要: ReentrantLock与synchronized一样都可以用来控制多线线程对共享资源的访问。 synchronized关键字是隐式的获得锁,即进入synchronized方法或者synchronized代码会自动的获得锁,离开同步方法或者同步代码块自动释放锁。 ReentrantLock相对于s 阅读全文
posted @ 2018-10-03 20:02 使用D 阅读(165) 评论(0) 推荐(0) 编辑
摘要: import java.util.Stack; /** * @Author: * @Date: 2018/9/28 11:36 */ public class TreeSort { public static void main(String[] args) { TreeNode level4_1 = new TreeNode(8,null,null); ... 阅读全文
posted @ 2018-09-28 21:51 使用D 阅读(200) 评论(0) 推荐(0) 编辑
摘要: ArrayBlockingQueue 基于同一个ReentrantLock锁实现线程安全,同时记录takeIndex与putIndex两个索引用于拿取和增加队列索引 使用集合实现的有界队列,一旦创建ArrayBlockingQueue对象,容量就固定了,对于排队等待的生产者或者消费者线程ArrayB 阅读全文
posted @ 2018-09-28 11:29 使用D 阅读(246) 评论(0) 推荐(0) 编辑
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 35 下一页