摘要: 搬家至http://blog.csdn.net/ipolaris 阅读全文
posted @ 2013-01-30 13:58 iPolaris 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 插入排序假设一个key,通过不断的比较而形成一个有序的数列,比如一个数组,我们从第二个值开始设为key,然后比较前面的数字,如果前一个值比它大(我们假定是升序排序),则前面值后移一位,key值取代其位置,结束一次排序。然后第三个值设为key,向前比较,若比起大,则互换位置,接着拿key值向前比较,出现比key值小或相等的数时,完成一次排序,此时key值原来的位置之前的数都是有序的了。接着往下设key值。知道最后一个。(可以到网上看一下相关的图示)。下面是相关代码(本人并不擅长C语言,如果代码有什么不合适的地方,尽情见谅,但保证代码是可以运行的)。/**插入排序Author:iPolaris** 阅读全文
posted @ 2012-11-27 00:50 iPolaris 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 享元模式的定义为:采用一个共享类来避免大量拥有相同内容的“小类”的开销。由此看来享元模式的主要的目的还是节省资源,主要是内存资源,感觉有点像单例。享元模式的组成部分:1)抽象享元角色:为具体享元角色规定了必须实现的方法,而外蕴状态就是以参数的形式通过此方法传入。在Java中可以由抽象类、接口来担当。2)具体享元角色:实现抽象角色规定的方法。如果存在内蕴状态,就负责为内蕴状态提供存储空间。3)享元工厂角色:负责创建和管理享元角色。要想达到共享的目的,这个角色的实现是关键!4)客户端角色:维护对所有享元对象的引用,而且还需要存储对应的外蕴状态。例子如下: 1 package com.cnblogs 阅读全文
posted @ 2012-09-17 12:26 iPolaris 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 观察者模式定义了一种一对多的的依赖,当被监听者发生改变或被观察者需要通知订阅者(或观察者)时,观察者会收到通知。观察者模式有以下几部分组成。1)抽象目标角色(Subject):目标角色知道它的观察者,可以有任意多个观察者观察同一个目标。并且提供注册和删除观察者对象的接口。目标角色往往由抽象类或者接口来实现。2)抽象观察者角色(Observer):为那些在目标发生改变时需要获得通知的对象定义一个更新接口。抽象观察者角色主要由抽象类或者接口来实现。3)具体目标角色(Concrete Subject):将有关状态存入各个Concrete Observer对象。当它的状态发生改变时,向它的各个观察者发 阅读全文
posted @ 2012-09-16 19:42 iPolaris 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 策略模式主要定义一些列的算法,把这些算法封装成偶共同接口的单独的类,并且使他们之间可以互换。策略模式主要有下面几部分组成:1)算法使用环境(Context)角色:算法被引用到这里和一些其它的与环境有关的操作一起来完成任务。2)抽象策略(Strategy)角色:规定了所有具体策略角色所需的接口。在java它通常由接口或者抽象类来实现。3)具体策略(Concrete Strategy)角色:实现了抽象策略角色定义的接口。例子演示:以普通会员和VIP会员享受的折扣为例 1 package com.cnblogs.ipolaris.Strategy.test; 2 /** 3 * 定义抽象策略角色 . 阅读全文
posted @ 2012-09-15 22:32 iPolaris 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式又叫包装器模式,用于动态的给一个对象增加一些额外的职能,取代一些情况下的继承的使用,增加灵活性。 装饰器模式主要有一下部分组成: 1)抽象构件角色(Component):定义一个抽象接口,以规范准备接收附加责任的对象。 2)具体构件角色(Concrete Component):这是被装饰者,定义一个将要被装饰增加功能的类。 3)装饰角色(Decorator):持有一个构件对象的实例,并定义了抽象构件定义的接口。 4)具体装饰角色(Concrete Decorator):负责给构件添加增加的功能。 应用的场景类似于:你的电脑内存只有2G,但是你想有一台内存是4G的电脑,你是... 阅读全文
posted @ 2012-09-13 23:23 iPolaris 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 适配器在生活中是一种很常见的一种东西,在国内买个手机欧版手机,充电器的插头和国内的插座不匹配,商家会为你提供一个转接头来适配,方能正常使用。中间的转接口就可看做是适配器。适配器模式就是类似的一个过程。充电器是说明适配器模式的一个常用的例子,在此我也来借鉴一下。将欧式插头转到中式 1 package com.cnblogs.ipolaris.adapter.test; 2 3 public class CPlug { 4 public String adapterSocket(){ 5 System. out .println("我是中式插头" );... 阅读全文
posted @ 2012-09-12 00:09 iPolaris 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 单例模式是一种简单但应用相当广泛的设计模式,保证一个类只生成一个实例,提供一个全局的接口来访问。单例模式主要有两种实现方式:饿汉式和懒汉式饿汉式形如: 1 package com.cnblogs.ipolaris.test; 2 3 public class SingleInstance { 4 private static SingleInstance instance = new SingleInstance(); 5 private SingleInstance(){ 6 7 } 8 public static SingleInst... 阅读全文
posted @ 2012-09-04 11:01 iPolaris 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式的主要解决了产品的扩展问题,而抽象工厂模式主要解决的是产品系列的问题,按照我的理解是:简单工厂模式更倾向于获取单个简单的产品,如生产一个苹果,生产一个桔子。而抽象工厂模式倾向于解决稍微复杂的一些问题,比如,我要获取一个菜单,菜单的内容有:荤菜和酒(假设每个菜单都只有这两种选择,菜单可看做是一个系列),这是我们就需要抽象工厂模式。下面我们用一个水果和肉的组合来简单的说明一下抽象设计模式。1 package com.cnblogs.ipolaris.abstractfac.test;2 /**3 * 所有水果的父类4 * @author iPolaris5 *6 */7 p... 阅读全文
posted @ 2012-09-03 18:01 iPolaris 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 参考HBASE的官方文档,搭建单机Hbase官方参考文档地址:http://hbase.apache.org/book/quickstart.html1.下载hbase:http://www.apache.org/dyn/closer.cgi/hbase/2.解压下载的文件$ tar xfz hbase-0.95-SNAPSHOT.tar.gz(下载到的文件名)$ cd hbase-0.95-SNAPSHOT3.进入解压的文件夹,修改conf/hbase-site.xml<?xml version="1.0"?><?xml-stylesheet type= 阅读全文
posted @ 2012-08-28 22:44 iPolaris 阅读(895) 评论(0) 推荐(0) 编辑