自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Java设计模式之十九(职责链模式)

一、什么是职责链模式Chain of Responsibility(CoR)模式也叫职责链模式或者职责连锁模式,是行为模式之一,该模式构造一系列分别担当不同的职责的类的对象来共同完成一个任务,这些类的对象之间像链条一样紧密相连,所以被称作职责链模式。二、职责链模式的应用场景例1:比如客户Client要完成一个任务,这个任务包括a,b,c,d四个部分。 首先客户Client把任务

2013-04-27 10:17:19 1711

原创 Java设计模式之十八(中介者模式)

一、什么是中介者模式   Mediator模式也叫中介者模式,是由GoF提出的23种软件设计模式的一种。Mediator模式是行为模式之一,在Mediator模式中,类之间的交互行为被统一放在Mediator的对象中,对象通过Mediator对象同其他对象交互,Mediator对象起着控制器的作用。二、中介者模式的结构三、中介者模式的角色和职责mediator

2013-04-26 09:21:28 865

原创 Java设计模式之十七(解释器模式)

一、什么是解释器模式Interpreter模式也叫解释器模式,是行为模式之一,它是一种特殊的设计模式,它建立一个解释器,对于特定的计算机程序设计语言,用来解释预先定义的文法。简单地说,Interpreter模式是一种简单的语法解释器构架。二、解释器模式应用场景      当有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情

2013-04-25 09:41:18 1101

原创 Spring集成Redis实例入门

ShardedJedis实现分析ShardedJedis是基于一致性哈希算法实现的分布式Redis集群客户端;ShardedJedis的设计分为以下几块:对象池设计:Pool,ShardedJedisPool,ShardedJedisFactory面向用户的操作封装:BinaryShardedJedis,BinaryShardedJedis一致性哈希实现:Sharded关于Shar

2013-04-24 19:43:22 1635

转载 Git入门指南 ---- Git Gui For Windows

本教程将讲述:gitk的Git Gui的部分常用功能和使用方法,包括:建库、克隆(clone)、上传(push)、下载(pull - fetch)、合并(pull - merge)1、下载并安装    下载地址:http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git新

2013-04-24 12:08:49 1695

原创 Java设计模式之十六(适配器模式)

一、什么是适配器模式Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。二、适配器模式应用场景   在大规模的系统开发过程中,我们常常碰到诸如以下这些情况:我们需要实现某些功能,这些功能已有还不太成熟的一个或多个外部组件,如果我们自己重新开发这些功能会花费大量时间;所以很多情况下会选择先暂时使用外部组件,以后再考虑随时

2013-04-24 10:18:08 1008

原创 Java设计模式之十五(桥接模式)

一、什么是桥接模式Bridge 模式又叫做桥接模式,是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。二、桥接模式的结构三、桥接模式的角色和职责

2013-04-20 11:44:12 8125 2

原创 Java设计模式之十四(组合模式)

一、什么是组合模式Composite模式也叫组合模式,是构造型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。二、组合模式的结构三、组合模式的角色和职责Component (树形结构的节点抽象)- 为所有的对象定义统一的接口(公共属性,行为等的定义)- 提供管理子节点对象的接口方法- [可选]提供管理父节

2013-04-20 10:33:42 1128

原创 Java设计模式之十三(外观模式)

一、什么是外观模式 Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。二、外观模式的结构三、外观模式的角色和职责Facade     为调用方定义简单的调用接口。 Clients     调用者。通过Fac

2013-04-17 11:45:09 1415

原创 Java设计模式之十二(代理模式)

一、什么是代理模式Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。 所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。二、代理模式的结构三、代理模式的角色和职责subject

2013-04-17 10:47:17 1173

原创 Java设计模式之十一(享元模式)

一、什么是享元模式Flyweight模式也叫享元模式,是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用。二、享元模式的结构三、享元模式的角色和职责抽象享元角色:所有具体享元类的父类,规定一些需要实现的公共接口。 具体享元角色:抽象享元角色的具体实现类,并实现了抽象享元角色规定的方法。 享元工厂角色:     负责创建和管理享元角色。

2013-04-16 21:53:46 1009

原创 Java设计模式之十(观察者模式)

一、什么是观察者模式Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。 Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。二、观察者模式的结构三、观察者模式的角色和职责Subject(被观察者)     被观察的对象。当需要被观察的状态发

2013-04-16 11:53:54 2691

原创 Java设计模式之九(策略模式)

一、什么是策略模式Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。二、策略模式的结构三、策略模式的角色和职责Strategy:策略(算法)抽象。 Conc

2013-04-16 10:56:29 1122

原创 Java设计模式之八(装饰模式)

一、什么是装饰模式   装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。二、装饰模式的结构三、装饰模式的角色和职责抽象组件角色: 一个抽象接口,是被装饰类和装饰类的父接口。具体组件角色:为抽象组件的实现类。抽象装饰角色:包含一个组件的引用,并定义了与抽象组件一致的接口。

2013-04-15 11:40:42 1223

原创 Java设计模式之七(建造者模式)

一、什么是建造者模式Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。二、建造者模式的结构三、建造者模式应用场景- 对象的创建:Builder模式是为对象的创建而

2013-04-15 10:34:49 907

原创 Java设计模式之六(原型模式)

一、什么是原型模式Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。二、原型模式的特点1. 由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。2.目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的

2013-04-15 09:44:08 1074

原创 Java设计模式之五(单例模式详解)

一、什么是单例模式单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。其实,GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 二、为什么要使用单例模式呢?在应用系统开发中,我们常常有以下需求:- 在多个线程之间,比如servlet环境,

2013-04-14 11:01:58 1234

原创 Java设计模式之四(经典面试题:工厂模式在开发中的运用)

一、工厂模式在开发中的运用面试题:      写一个简单的计算器。代码实现:抽象一个运算类:package com.qianyan.calcuator;public abstract class Operation { //数字一 private double num1; //数字二 private double num2; public do

2013-04-14 09:31:37 4125

原创 Java设计模式之三(抽象工厂模式)

一、什么是抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。二、产品族和产品等级结构三、模式中包含的角色及其职责1.抽象工厂(Creator)角色 抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂类都必须实现这个接口。

2013-04-14 08:53:09 1142

原创 Pig Grunt之简单命令及实例说明

Pig大的运行方法:1、脚本2、Grunt3、嵌入式Grunt1、自动补全机制 (命令补全、不支持文件名补全)2、autocomplete文件3、Eclipse插件PigPen进入Grunt shell命令[hadoop@master pig]$ ./bin/pig2013-04-13 23:00:19,909 [main] INFO  or

2013-04-13 15:40:37 3585 1

原创 Java设计模式之二(工厂方法模式)

一、什么是工厂方法模式?工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。二、模式中包含的角色及其职责

2013-04-13 13:43:23 977

原创 Java设计模式之一(简单工厂模式)

一、什么是简单工厂模式?简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。二、模式中包含的角色及其职责?1.工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。 2.抽象(Product)角色 简单工厂模式所创建的所有

2013-04-13 13:10:46 1223

原创 hbase Shell之简单命令说明

[hadoop@master hbase]$ bin/hbase shell进入shellhbase(main):001:0> help******(Shell命令说明)hbase(main):002:0> status1 servers, 0 dead, 4.0000 average load (服务器,dead,负荷)hbase(main

2013-04-12 19:03:05 1410

原创 Java数据结构(二叉数基础与遍历篇)

二叉树:在计算机科学中,树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构。二叉树是每个节点最多有两个子树的有序树。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。值得注意的是,二叉树不是树的特殊情形。在图论中,二叉树是一个连通的无环图,并且每一个顶点的度不大于3。

2013-04-12 16:22:11 907

原创 Java数据结构(递归执行顺序、杨辉三角、斐波那契篇)

递归:程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有

2013-04-11 08:49:52 1541

原创 Java数据结构(链表篇)

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,链表比较方便插入和删除操作。连接点:package ch04Link;public cl

2013-04-10 12:13:14 823

原创 Java中重载与重写解析

首先我们来讲讲:重载(Overloading)    (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。    (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数

2013-04-09 22:00:18 937

原创 hadoop 之简单命令说明

前面搭建好了hadoop的平台,然后我们可以使用简单的hadoop命令体验下hadoop,不至于搭建平台后不知道干嘛。$ pwd/home/opt/hadoop 格式化分布式文件系统$ bin/hadoop namenode -format启动hadoop的守护进程$ bin/start-all.sh停止hadoop的守护进程$ bin/s

2013-04-08 11:46:01 1506

原创 Java数据结构(队列篇)

无序队列:package ch03Stack;public class Queue { // 数组 private long[] arr; // 最大空间 private int maxsize; // 有效长度 private int elems; // 对头 private int font; // 队尾 private int end; /

2013-04-07 20:30:41 792

原创 Java数据结构(栈篇)

今天学习了模拟栈的实现,下面直接看代码:package ch03Stack;public class MyStack { private long[] arr; private int maxsize; private int top; //构造方法 public MyStack(int maxsize){ arr = new long[maxsize]

2013-04-07 18:10:25 767

原创 自己动手写搜索引擎(常搜吧项目展示)(Java、Lucene、hadoop)

学习了两星期的Lucene,对它的基础知识有了一定的掌握,并开发了自己的常搜吧项目。下面展示下我的项目,其实用到的都是很Lucene中很基础的知识,以及第三方工具,例如XPDF,Htmlparser,paoding分词器 .etc 。本项目采用Struts2 + Mybatis + spring框架搭建,数据库用的Oracle。(博主只是到了灵活应用的程度,对于源码还是小白)。前端采用

2013-04-06 12:31:53 3010 37

原创 Java数据结构(排序篇)

今天介绍三种排序方法:冒泡排序、选择排序、插入排序;另写了一个对象数组测试对于对象排序的实现。冒泡排序:冒泡排序,是指计算机的一种排序方法,它的时间复杂度为O(n^2),虽然不及堆排序、快速排序的O(nlogn,底数为2),但是有两个优点:1.“编程复杂度”很低,很容易写出代码;2.具有稳定性,这里的稳定性是指原序列中相同元素的相对顺序仍然保持到排序后的序列,而堆排序、快速排序均不具有

2013-04-06 11:56:40 1967

原创 Java数据结构(数组篇)

小C最近开学数据结构,在此记录下学习历程。首先:数组的增删改查package ch01Array;public class MyArray { //数组 private long[] arr; //数组中有效数据的大小 private int elems; //默认构造函数 public MyArray(){ arr = new long[50];

2013-04-05 14:23:38 950

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除