自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TDD总结

1. TDDTDD指的是Test Drive Development,很明显的意思是测试驱动开发,也就是说我们可以从测试的角度来检验整个项目。大概的流程是先针对每个功能点抽象出接口代码,然后编写单元测试代码,接下来实现接口,运行单元测试代码,循环此过程,直到整个单元测试都通过。这一点和敏捷开发有类似之处。2. 为什么要使用TDD 部分团队成员无缘参与需求、规范或用户故事的制定;...

2019-06-14 10:46:52 1005

转载 Java编程提高性能时需注意的地方

转自http://blog.csdn.net/xiaemperor/article/details/19933685下面是参考网络资源和总结一些在java编程中尽可能做到的一些地方 1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面第一

2014-02-25 21:35:12 764

原创 (十二)外观模式

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

2014-02-08 11:30:58 5669

原创 (十一)代理模式

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

2014-02-04 17:03:03 41406 1

原创 (十)享元模式

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

2014-02-04 16:35:55 957

原创 (九)观察者模式

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

2014-01-30 16:39:02 838

原创 (八)策略模式

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

2014-01-30 16:32:55 947

原创 (七)装饰模式

装饰模式

2014-01-30 16:25:25 6213

原创 (三)抽象工厂模式

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

2014-01-30 16:17:08 826

原创 (六)建造者模式

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

2014-01-26 11:18:17 858

原创 (五)原型模式

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

2014-01-26 11:10:36 913

转载 (四)单例设计模式

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

2014-01-26 11:05:03 746

原创 (二)工厂方法模式

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

2014-01-23 22:14:10 791

原创 (一)简单工厂模式

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

2014-01-23 22:04:35 910

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

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

2014-01-20 10:27:42 1790

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

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

2014-01-19 19:16:12 5471

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

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

2014-01-19 17:20:35 2177

原创 (十三)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 1489

原创 (十二)对象数组以及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 1679

原创 (十一)StringBuffer的实现

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

2014-01-19 16:19:02 1172

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

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

2014-01-19 16:15:47 1130

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

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

2014-01-19 16:07:59 909

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

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

2014-01-19 15:50:49 2504

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

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

2014-01-19 15:34:30 2374

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

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

2014-01-12 21:04:37 6430

转载 深入浅出 java动态代理

什么是动态代理:代理:代理模式是常用的Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。动态代理的具体实现:相关类与借口:java.lang.reflect.Proxy:这是 Java 动态代理机制的主类,它提供了一组静态方法来为一组接口动态地生成代理类及其对象。

2013-12-02 13:31:24 863

原创 (五)链式堆栈的实现与应用

链式堆栈链式存储结构的堆栈称作链式堆栈。与单链表相同,链式堆栈也是由一个个结点组成的,每个结点由两个域组成,一个是存放数据元素的数据元素域element,另一个是存放指向下一个结点的对象引用(即指针)域next。堆栈有两端,插入数据元素和删除数据元素的一端为栈顶,另一端为栈底。链式堆栈都设计成把靠近堆栈头head的一端定义为栈顶。依次向链式堆栈入栈数据元素a0, a1, a

2013-10-05 17:56:46 1054

原创 (四)基于数组的栈的实现

堆栈的基本概念堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除操作。堆栈中允许进行插入和删除操作的一端称为栈顶,另一端称为栈底。堆栈的插入和删除操作通常称为进栈或入栈,堆栈的删除操作通常称为出栈或退栈。从输入和输出数据元素的位置关系看,堆栈的

2013-10-05 16:37:36 1002

原创 (三)循环链表以及循环链表应用

单向循环链表单向循环链表是单链表的另一种形式,其结构特点是链表中最后一个结点的指针不再是结束标记,而是指向整个链表的第一个结点,从而使单链表形成一个环。和单链表相比,循环单链表的长处是从链尾到链头比较方便。当要处理的数据元素序列具有环型结构特点时,适合于采用循环单链表。与单链表相同,循环单链表也有带头结点结构和不带头结点结构两种,带头结点的循环单链表实现插入和删除操作时,算法实现较为方

2013-10-04 23:05:37 3838

原创 (二)线性结构之LinkedList的实现

链表结构链式存储结构是基于指针实现的。我们把一个数据元素和一个指针称为结点。链式存储结构是用指针把相互直接关联的结点(即直接前驱结点或直接后继结点)链接起来。链式存储结构的线性表称为链表。 链表类型根据链表的构造方式的不同可以分为:1.单向链表2.单向循环链表3.双向循环链表单链表结构单链表是构成链表的每个结点只有一个指向直接后继结点的指针。

2013-10-04 18:38:12 1511

原创 (一)线性结构之ArrayList的实现

线性结构定义如果一个数据元素序列满足:(1)除第一个和最后一个数据元素外,每个数据元素只有一个前驱数据元素和一个后继数据元素;(2)第一个数据元素没有前驱数据元素;(3)最后一个数据元素没有后继数据元素。  则称这样的数据结构为线性结构。线性表抽象数据类型线性表抽象数据类型主要包括两个方面:既数据集合和该数据集合上的操作集合。

2013-10-04 16:35:11 1443

原创 Hbase实例之创建一个列簇

关于HBase的前后因果先不讨论,现在写一个Hbase实例,怎么样去创建一个Hbase的列簇.public class HbaseTable { //定义一个hbase连接 Configuration conf = null; //构造方法初始化,连接到hbase数据库 HbaseIf() { //创建Hbase数据库的连接,默认本地

2013-08-21 23:32:24 6287 1

原创 Hadoop集群环境的搭建

我们一般使用hadoop都会在虚拟机上面,所以我针对的都是在虚拟机上的hadoop集群。准备阶段1,:将原来搭建的hadoop单机版环境的虚拟机拷贝一份(详细信息http://blog.csdn.net/fullyfang/article/details/9391835).2:准备两台服务器,如下:        机器名              IP地址

2013-07-28 17:38:17 1224 1

原创 hadoop环境的安装与搭建

1:在Vmware上安装linux(略),我的是radhat5.5。2:安装jdk,去官网下载一个jdk,比如jdk1.6.0_13,下载到linux下并解压,我的解压后路径是/usr/local/jdk1.6.0_13。配置环境变量:输入命令  vi /etc/profile,然后输入i在profile文件末尾加入: export JAVA_HOME=/usr/local/jdk

2013-07-20 17:35:15 5619 3

疯狂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关注的人

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