自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 (九)观察者模式

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

2014-01-30 16:39:02 867

原创 (八)策略模式

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

2014-01-30 16:32:55 972

原创 (七)装饰模式

装饰模式

2014-01-30 16:25:25 6237

原创 (三)抽象工厂模式

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

2014-01-30 16:17:08 857

原创 (六)建造者模式

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

2014-01-26 11:18:17 881

原创 (五)原型模式

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

2014-01-26 11:10:36 934

转载 (四)单例设计模式

转至:http://www.cnblogs.com/whgw/archive/2011/10/05/2199535.html概念:  java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。  单例模式有一下特点:  1、单例类只能有一个实例。  2、单例类必须自己自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实

2014-01-26 11:05:03 765

原创 (二)工厂方法模式

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

2014-01-23 22:14:10 818

原创 (一)简单工厂模式

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

2014-01-23 22:04:35 948

原创 (十六)递归算法与递归算法应用

递归的概念 若一个算法直接地或间接地调用自己本身,则称这个算法是递归算法。问题的定义是递归的  例如:阶乘函数的定义           1              当n=1时       n! =              n*(n-1)!        当n>1时递归算法的设计方法适宜于用递归算法求解的问题的充分必要条件是:  (1)问题具

2014-01-20 10:27:42 1822

原创 (十五)稀疏矩阵和三元组稀疏矩阵压缩算法

稀疏矩阵对一个m×n的矩阵,设s为矩阵元素个数的总和,有s=m*n,设t为矩阵中非零元素个数的总和,满足t<<s的矩阵称作稀疏矩阵。符号“<<”读作小于小于。简单说,稀疏矩阵就是非零元素个数远远小于元素个数的矩阵。相对于稀疏矩阵来说,一个不稀疏的矩阵也称作稠密矩阵。 稀疏矩阵的压缩存储稀疏矩阵的压缩存储方法,是只存储矩阵中的非零元素。稀疏矩阵中每个非零元素及其对应的行下

2014-01-19 19:16:12 5538

原创 (十四)矩阵类与对称矩阵的压缩算法

矩阵类矩阵是工程设计中经常使用的数学工具。 矩阵的运算主要有矩阵加、矩阵减、矩阵乘、矩阵转置、矩阵求逆等。矩阵用两维数组处理最为方便。 二维数组存储结构。 设计矩阵类import java.util.Random;public class MyMatrix { int[][] matrix ;//矩阵数组 Random random =ne

2014-01-19 17:20:35 2205

原创 (十三)Set类实现以及彩票机选算法实现

Set类实现//用户自定义的MySet类public class MySet { private MyVector value = new MyVector(); //添加对象 public void add(Object obj)throws Exception { //不允许添加空对象 if(obj==null) { return ; } //由于

2014-01-19 17:11:26 1517

原创 (十二)对象数组以及Vector类实现

数组的定义数组是n(n≥1)个相同数据类型的数据元素a0,a1,a2,...,an-1构成的占用一块地址连续的内存单元的有限集合。数组的实现数组通常以字节为内部计数单位。对一个有n个数据元素的一维数组,设a0是下标为0的数组元素,Loc(a0)是a0的内存单元地址,k是每个数据元素所需的字节个数,则数组中任一数据元素ai的内存单元地址Loc(ai)可由下面公式求出:

2014-01-19 16:32:27 1710

原创 (十一)StringBuffer的实现

StringBufferMyStringBuffer与MyString的不同之处是:对于MyString类的连接,插入和删除子串成员函数都是不改变原对象的串值。但对于MyStringBuffer类,连接,插入和删除子串的成员函数都改变了原对象的串值。MyStringBuffer类实现//用户自定义的MyStringBuffer类public class MyStringBuffe

2014-01-19 16:19:02 1202

原创 (十)串的基本概念与串存储结构

串的基本概念串(也称作字符串)是由n(n≥0)个字符组成的有限序列。一个串中任意个连续的字符组成的子序列称为该串的子串。 包含子串的串称为该子串的主串。一个字符在一个串中的位置序号(为大于等于0的正整数)称为该字符在串中的位置。当且仅当这两个串的值完全相等时,称这两个串相等。串抽象数据类型数据集合:串的数据集合可以表示为字符序列s0, s1,… , sn-1,每

2014-01-19 16:15:47 1168

原创 (九)链式队列以及优先级队列应用

链式队列链式存储结构的队列称作链式队列。链式队列的存储结构如下图所示链式队列的实现//结点类public class Node { Object element; //数据域 Node next; //指针域 //头结点的构造方法 public Node(Node nextval) { this.next = nextval; }

2014-01-19 16:07:59 941

原创 (八)队列以及顺序循环队列的应用

队列基本概念队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其另一端进行删除操作。队列中允许进行插入操作的一端称为队尾,允许进行删除操作的一端称为队头。队列的插入操作通常称作入队列,队列的删除操作通常称作出队列。下图是一个依次向队列中插入数据元素a0,a1,...,a

2014-01-19 15:50:49 2545

原创 (七)中缀表达式转换后缀表达式算法

表达式的三种形式中缀表达式:运算符放在两个运算对象中间,如:(2+1)*3后缀表达式:不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:21 + 3 *前缀表达式:同后缀表达式一样,不包含括号,运算符放在两个运算对象的前面,如:*+ 2 1 3 表达式的转换将中缀表达式转换为后缀表达式:(

2014-01-19 15:34:30 2410

原创 (六)Brute-Force算法与KMP算法

串的模式匹配操作在字符串匹配问题中,我们期待察看S串中是否含有串T(模式串)。其中串S被称为主串,串T被称为子串。如果在主串中查找到子串,则称为模式匹配成功,返回模式串的第一个字符在主串中出现的位置。如果在主串中未找到子串,则称为模式匹配失败,返回-1。Brute-Force与KMP算法是两种最经典的模式匹配算法。Brute-Force算法也称简单匹配算法,其基本思路是:从目标串s=”s0s1…s

2014-01-12 21:04:37 6485

疯狂xml讲义

本书主要以XML为核心,深入地介绍了XML的各种相关知识。本书作为疯狂Java体系图书之一,依然保持该体系图书系统、全面的特点:不仅详细介绍了XML文档的各种知识,还通过案例示范了实际开发中如何应用XML知识。   本书主要分为五个部分。第一部分介绍了XML、DTD、XML Schema等基础知识,这些知识主要教读者如何定义有效的XML文档,这部分内容是深入学习后面知识的基础,也是每个使用XML的开发者都应该掌握的基础。第二部分介绍了CSS、XSLT和XPath等知识,通过使用CSS或XSLT,可直接将XML文档当成视图技术。第三部分介绍了DOM、SAX、JAXP、dom4j、JDOM、XQuery和XQJ等,其中的DOM、SAX、JAXP、dom4j和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过XQuery可以查询XML文档中的数据,就像使用SQL查询关系数据库的数据一样。第四部分介绍了Web Services和CXF,其中CXF是Java领域的主流Web Services框架,简单易用。第五部分则提供了两个综合性案例:基于XML的电子公告系统和电子拍卖系统,让读者将前面所学应用到实际项目中。尤其是电子拍卖系统,它是一个包含5个表,表之间具有复杂关联映射的系统,该案例采用目前最流行、最规范的轻量级Java EE架构,将整个应用分为领域对象层、DAO层和业务逻辑层,然后用CXF将业务逻辑组件包装成Web Services,从而可以将现有的Java EE项目与其他平台的、其他语言的异构项目进行整合,具有极好的指导价值和借鉴意义。   本书是疯狂Java体系丛书之一,学习本书无须任何XML基础,但DOM、SAX、dom4j、JDOM解析部分包含了大量Java编程,因此建议先认真阅读疯狂Java体系的《疯狂Java讲义》一书。

2012-10-28

空空如也

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

TA关注的人

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