![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
haoxingfengcrazy
学习是人生的一种方式
展开
-
java享元模式
GOF:运用共享技术有效地支持大量细粒度的对象。 解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说(这里引用GOF书中的例子)一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享转载 2013-06-23 20:32:11 · 912 阅读 · 0 评论 -
享元模式
GoF对享元模式的描述是:运用共享技术有效地支持大量细粒度的对象。Flyweight模式是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用。也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。在Flyweight模式中,由于要产生各种各样的对象,所以在Flyweight(享元)模式中常出现Factory模式。Flyweight的内部状态是转载 2013-06-27 21:57:36 · 639 阅读 · 0 评论 -
java几种常用设计模式简单示例
1.单例设计模式 所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生。具体实现步骤如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。 (2) 在其内部产生该类的实例化对象,并将其封装成private static类型。 (3) 定义一个静态方法转载 2013-06-27 21:04:16 · 90986 阅读 · 11 评论 -
设计模式之Facade
定义: GOF《设计模式》一书对Facade模式是这样描述的: 为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。使用场景: 1、为一个复杂子系统提供一个简单接口时,由于子系统往往因为不断演化而变得越来越复杂,但这种变化不应该影响到客户的调用,此时使用 Facade 模式对外提供一个转载 2013-06-27 21:56:04 · 968 阅读 · 0 评论 -
java设计模式--策略模式
当我们掌握了Java的语法,当我们了解了面向对象的封装、继承、多态等特性,当我们可以用Swing、Servlet、JSP技术构建桌面以及Web应用,不意味着我们可以写出面向对象的程序,不意味着我们可以很好的实现代码复用,弹性维护,不意味着我们可以实现在维护、扩展基础上的代码复用。一把刀,可以使你制敌于无形而于江湖扬名,也可以只是一把利刃而使你切菜平静。Java,就是这把刀,它的威力取决于你使用的方转载 2013-06-27 20:57:38 · 3634 阅读 · 0 评论 -
适配器模式
适配器模式,即把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法一起工作的两个类能够在一起工作。例如:笔记本的电源适配器、二脚转三脚的电源插座等等。 适配器分成两种形式,分别是类的适配器模式和对象的适配器模式,它们的结构图如下图所示: 实现源码:(由于个人Rational Rose用的不熟,可能代码与上图有点差异) 类的适配器模式:转载 2013-06-27 22:37:55 · 673 阅读 · 0 评论 -
设计模式介绍
一、什么是软件设计模式?设计模式:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 二、设计模式和框架可复用面向对象软件系统现在一般划分为两大类:应用程序工具箱和框转载 2013-06-27 22:41:58 · 937 阅读 · 0 评论 -
工厂方法模式
之前有一篇简单工厂模式的介绍:http://liyf155.iteye.com/blog/1180975,里面介绍了简单工厂模式。简单工厂模式的缺点是很明显的,对“开-闭”原则的支持不够,即扩展性不好,如果有新的产品加入到系统中,那么就要去修改工厂类,并且将必要的逻辑加入到工厂类中,工厂方法模式的引进,既保留了简单工厂模式的有点,又克服了它的缺点。 首先,在工厂方法模式中,核心的工转载 2013-06-27 21:15:15 · 866 阅读 · 0 评论 -
设计模式_迭代模式
为什么要使用迭代模式?相较于数组这样简单的数据容器,有时候我们会需要遍历,操作一些更复杂的数据容器,像ArrayList,HashMap等。那么在遍历或操作这些数据容器时,可能会遇到这样的情况: 一.迭代方式没有改变,但是数据容器变了。 二.数据容器没有改变,但是迭代逻辑变了。 问题是,我们不希望改变客户端代码,那么就只有将可能变化的内容抽象化,让客户端去操作抽象接口转载 2013-06-27 21:54:11 · 782 阅读 · 0 评论 -
设计模式之责任链模式
刚学习了责任链模式,感觉还是蛮不错的,随手记录了下学习的内容。 责任链模式:责任链模式用于弱化请求发生者和请求处理者之间的关系。当多个对象都可以对请求进行处理,但不同的对象能处理的请求类型不同时,可以通过指向另一个对象的引用把这些对象连成一条责任链。当 Client 发出一个请求时,并不知道具体由哪个对象进行处理,它看到的只是一条责任链,将请求直接交给责任链,请求会在责任链中传递,直到找到转载 2013-06-27 21:21:39 · 766 阅读 · 0 评论 -
java接口回调
在java组件编程时(如Android编程)时会十分频繁的使用到接口回调,以前我都没有发现,只是照着书上写的做。最常见的就是View.setonClickListener(new View.onClickListener())这样的语句了。因为最近看得代码也渐渐多起来了,所以很自然的就发现这个问题了,然后还好现在Android中的sdk源码都是可以直接查看的,现在我明白了。 感觉接口回调也转载 2013-06-27 21:35:45 · 5088 阅读 · 1 评论 -
JAVA设计模式之观察者模式2
ObserverManager接口:Java代码 package com.zg.service; public interface ObserverManager { public abstract void addObserver(Observer observer); public abstract void removeObs转载 2013-06-27 21:09:48 · 1228 阅读 · 0 评论 -
Java与C++混合编程
现在的程序员,不再像以前一样,掌握一种编程语言就可以混得有模有样了,这里为大家讲的,就是C++与Java混合编程.现实的情况是,真实的项目中,通常是涉及多种编程语言,举几个简单的例子,一个软件为了快速开发,可能是使用Delphi或VB作为界面开发首选语言,底层的指令或核心算法,会使用C/C++处理,涉及数据处理的时候,为了安全和快速开发,会使用Javascript或Python等脚本语言实现数转载 2013-06-25 10:59:37 · 1492 阅读 · 0 评论 -
java开发webservice的几种方式
webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录。1.Axis2Axis是apache下一个开源的webservice开发组件,出现的算是比较早了,也比较成熟。这里主要介绍Axis+eclipse开发webservice,当然不用eclipse也可以开发和发布webservice,只是用eclipse会比较方便。转载 2013-06-25 10:30:49 · 52928 阅读 · 2 评论 -
JAVA 与C++ 混合编程 Java中调用C/C++生成的DLL
一、 生成C的头文件 1. 编辑Main.java public class Main { public native static int getStrNum(byte str[], int strLen); } 2. 生成头文件 按win + r打开“运行”窗口,输入“cmd”,打开DOS控制台窗口。进入上面Main.java所在的目录中转载 2013-06-25 10:47:08 · 983 阅读 · 0 评论 -
java c++混合编程
具体参照: http://www.cnblogs.com/icejoywoo/archive/2012/02/22/2363709.html http://www.cnblogs.com/icejoywoo/archive/2012/02/24/2367116.html转载 2013-06-25 10:58:56 · 926 阅读 · 0 评论 -
Spring整合JMS——基于ActiveMQ实现
Spring整合JMS——基于ActiveMQ实现(一) 1.1 JMS简介 JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的转载 2013-06-25 11:00:12 · 42717 阅读 · 22 评论 -
Java开发中的23种设计模式
学习设计模式有两个意义:一、学习设计模式最重要的是了解模式的应用场景。编程遇到特定场景的话,要有意识联想到设计模式,哪怕细节忘了也没关系,翻翻书就找到了。二、提高设计的思想。学习设计模式的时候,要体会模式精妙之处,当想明白大师思想和自己的差距的时候,差距就缩短了一点儿。有的模式平淡无奇,应用却广泛。有的模式设计精巧,应用场景却不易遇到。无论如何,要么掌握工具,要么学到思想,都是收获。转载 2013-06-27 11:38:13 · 717 阅读 · 0 评论 -
java设计模式示例
创建模式1.工厂方法模式(Factory Method) 将程序中创建对象的操作,单独出来处理,创建一个产品的工厂接口,把实际的工作转移到具体的子类。大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。public class TestFactoryMethod {public static void main(String[] args) {转载 2013-06-27 11:35:00 · 880 阅读 · 0 评论 -
Java 设计模式——观察者模式
一、概述 Java的设计模式很多,观察者模式被称为是模式中的皇后,而且Java jdk也对它做了实现,可见该设计模式的重要位置。在图形化设计的软件中,为了实现视图和事件处理的分离,大多都采用了Observer模式,比如 Java的Swing,Flex的ActionScript等。在现实的应用系统中也有好多应用,比如像当当网、京东商城一类的电子商务网站,如果你对某 件商品比较关注,可以放到收转载 2013-06-27 16:52:06 · 821 阅读 · 0 评论 -
Builder模式
Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。Builder模式的应用场景 - 对象的创建:Builder模式是为对象的创建而设计的模式 - 创建的是一个复合对象:被创建的对转载 2013-06-27 22:11:51 · 725 阅读 · 0 评论