摘要: 1,Sametime Server A、Sametime includes many server applications, which collectively provide the capabilities of theSametime server. All client-to-client communication such as instant messaging passes through theSametime server. B、Users who log onto the Sametime server from different clients can com.. 阅读全文
posted @ 2014-03-26 12:22 muyuhu 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 中等区别:虽然这三个单词在Java中都存在,但是并没有太多关联: final:java中的关键字,修饰符。1.如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。因此,一个类不能同时被声明为absrtact抽象类的和final的类。2.如果将变量或者方法声明为final,可以保证它们在使用中不被改变. 2.1 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 2.2被声明final的方法只能使用,不能重载。finally:java的一种异常处理机制。 finally是对Java 异常处理模... 阅读全文
posted @ 2013-10-31 11:11 muyuhu 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 静态工厂方法讲解 创建类的实例的最常见的方式是用new语句调用类的构造方法。在这种情况下,程序可以创建类的任意多个实例,每执行一条new语句,都会导致Java虚拟机的堆区中产生一个新的对象。假如类需要进一步封装创建自身实例的细节,并且控制自身实例的数目,那么可以提供静态工厂方法。 例如Class实例是Java虚拟机在加载一个类时自动创建的,程序无法用new语句创建java.lang.Class类的实例,因为Class类没有提供public类型的构造方法。为了使程序能获得代表某个类的Class实例,在Class类中提供了静态工厂方法forName(String name),它的使用方式如下: C 阅读全文
posted @ 2013-10-31 10:39 muyuhu 阅读(1641) 评论(0) 推荐(0) 编辑
摘要: 二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.前序遍历 前序遍历按照“根结点-左孩子-右孩子”的顺序进行访问。 1.递归实现void preOrder1(BinTree *root) //递归前序遍历 { if(root!=NULL) ... 阅读全文
posted @ 2013-05-02 23:25 muyuhu 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 概述在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的 “稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。本文通过现实生活中的买KFC的例子,用图解的方式来诠释建造者模式。意图将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。模型图在构造一个对象的时候,往往有很多复杂的过程和次序,例如建造一个机器人,那要先造头,还是要先造身子 阅读全文
posted @ 2013-05-01 21:07 muyuhu 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 1、原型模式的定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。我们都知道,创建型模式一般是用来创建一个新的对象,然后我们使用这个对象完成一些对象的操作,我们通过原型模式可以快速的创建一个对象而不需要提供专门的new()操作就可以快速完成对象的创建,这无疑是一种非常有效的方式,快速的创建一个新的对象。2、原型模式的特色以及应用场景原型模式的主要思想是基于现有的对象克隆一个新的对象出来,一般是有对象的内部提供克隆的方法,通过该方法返回一个对象的副本,这种创建对象的方式,相比我们之前说的几类创建 阅读全文
posted @ 2013-04-29 14:42 muyuhu 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 1、代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。简而言之就是用一个对象来代表另一个对象。2、代理模式的目的:提供其他对象一个代理或占位符,来控制该对象的访问权限。为什么我们要控制对象的访问权限呢?其中一个原因是通过控制来延迟对象的创建和实例化,直到真正需要使用该对象才进行创建和实例化。由于一些对象创建和实例化需要占用大量系统资源,但我们并不能确定用户一定会调用该对象,所以通过延迟对象实例化来减缓系统资源的消耗。例如文档编辑器如word,我们可以在里面插入链接、图片等,但是并不是我们每次打开word时都有创建和实例化这些对象,特别是实例化图片对象很消耗资源,而且我们有必要实例化 阅读全文
posted @ 2013-04-29 11:07 muyuhu 阅读(500) 评论(0) 推荐(0) 编辑
摘要: JAVA23种设计模式之一,英文叫Decorator Pattern,又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能.1、装饰模式与类继承的区别:1)装饰模式是一种动态行为,对已经存在类进行随意组合,而类的继承是一种静态的行为,一个类定义成什么样的,该类的对象便具有什么样的功能,无法动态的改变。 所谓动态是说可以在系统运行时(RunTime)动态给对象增加其它职责而不需要修改代码或重新编译;所谓静态是说必须通过调整代码(DesignTime)才能给对象增加职责,而且系统还需要重新编译;从具体技术层面来说,对象的组合和继承正好对应于前面的动态和静态,因. 阅读全文
posted @ 2013-04-29 09:44 muyuhu 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 概述 工厂方法模式,英文Factory method pattern,工厂方法模式是简单工厂模式的进化版, 看本文之间最好先看一下简单工厂模式。工厂方法模式是定义一个创建产品对象的工厂接口,工厂接口本身不去创建对象,而是交给其子类或者是其实现类去创建,将实际创建工作推迟到子类中进行,我们先看一下如何实现工厂方法模式,最后再说一下它有什么好处。实现 Operation.java,运算基类,抽象getResult方法。public abstract class Operation { protected double numA; protected double numB; public ... 阅读全文
posted @ 2013-04-28 22:35 muyuhu 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式解释: 简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式的UML图: 简单工厂模式中包含的角色及其相应的职责如下: 工厂角色(Creator):这是简单工厂模式的核心,由它负责创建所有的类的内部逻辑。当然工厂类必须能够被外界调用,创建所需要的产品对象。 抽象(Product)产品角色:简单工厂模式所创建的所有对象的父类,注意,这里的父类可以是接口也可以是抽象类,它负责描述所有实例所 阅读全文
posted @ 2013-04-28 22:19 muyuhu 阅读(183) 评论(0) 推荐(0) 编辑