易截截图软件、单文件、免安装、纯绿色、仅160KB

java 23种设计模式中常用的九种

1 Factory Pattern(工厂模式)
  上榜理由:将程序中创建对象的操作,单独出来处理,大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。
  2 Facade Pattern
  上榜理由:将表现层和逻辑层隔离,封装底层的复杂处理,为用户提供简单的接口,这样的例子随处可见。门面模式很多时候更是一种系统架构的设计,在我所做的项目中,就实现了门面模式的接口,为复杂系统的解耦提供了最好的解决方案。
  3 Command Pattern
  上榜理由:将请求封装为对象,从而将命令的执行和责任分开。通常在队列中等待命令,这和现实多么的相似呀。如果你喜欢发号施令,请考虑你的ICommond吧。
  4 Strategy Pattern
  上榜理由:策略模式,将易于变化的部分封装为接口,通常Strategy 封装一些运算法则,使之能互换。Bruce Zhang在他的博客中提到策略模式其实是一种“面向接口”的编程方法,真是恰如其分。
  5 Iterator Pattern
  上榜理由:相信任何的系统中,都会用到数组、集合、链表、队列这样的类型吧,那么你就不得不关心迭代模式的来龙去脉。在遍历算法中,迭代模式提供了遍历的顺序访问容器,GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。.NET中就是使用了迭代器来创建用于foreach的集合。
  6 Adapter Pattern
  上榜理由:在原类型不做任何改变的情况下,扩展了新的接口,灵活且多样的适配一切旧俗。这种打破旧框框,适配新格局的思想,是面向对象的精髓。以继承方式实现的类的Adapter模式和以聚合方式实现的对象的Adapter模式,各有千秋,各取所长。看来,把它叫做包装器一点也不为过,
  7 Observer Pattern
  上榜理由:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。观察者和被观察者的分开,为模块划分提供了清晰的界限。在.NET中使用委托和事件可以更好的实现观察者模式,事件的注册和撤销不就对应着观察者对其对象的观察吗?
  8 Bridge Pattern
  上榜理由:把实现和逻辑分开,对于我们深刻理解面向对象的聚合复用的思想甚有助益。
  9 Singleton Pattern(单例模式)
  上榜理由:改善全局变量和命名空间的冲突,可以说是一种改良了的全局变量。这种一个类只有一个实例,且提供一个访问全局点的方式,更加灵活的保证了实例的创


相关文档:

Java性能优化

Java性能优化技巧集锦
一、通用篇
  1.1 不用new关键词创建类的实例
  1.2 使用非阻塞I/O
  1.3 慎用异常
 
 1.4 不要重复初始化变量
  1.5 尽量指定类的final修饰符
  1.6 尽量使用局部变量
  1.7
乘法和除法
二、J2EE篇
  2.1 使用缓冲标记
  2.2 始终通过会话Bean访问实体Bea ......

java IO详解 Java基础 很重要

java IO详解
Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。
Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStrea ......

Tri树(字典树JAVA版)联想输入法所用的数据结构

又到了快复试的时候了。遥想去年此时,心情忐忑不安,复试机试差点挂掉。当时考的是,联想输入法,想想都恐怖。这段时间写算法,顺便把那个给写了。也算最后纪念一下我的考研。我爱新学校,我也爱我的同学和老师,我很珍惜这次进入研究生院的机会。也希望那些此时和我当时一样忐忑不安的考生可以实现梦想!!
import java. ......

java程序如何生成jar文件

两步走:
1.java工程打包成Jar文件(权且当你是App工程号了.)
   这个好办,在Eclipse中右键选择项目上的Export功能,在导出类型中选项jar即可.
   在后续界面上有几个地方需要注意的.
   记的勾选"Export generated class files and resources". 这样就会把你classpath中引用到得第三方 ......

浅谈Java多线程的同步问题

多线程的同步依靠的是对象锁机制,synchronized关键字的背后就是利用了封锁来实现对共享资源的互斥访问。
下面以一个简单的实例来进行对比分析。实例要完成的工作非常简单,就是创建10个线程,每个线程都打印从0到99这100个数字,我们希望线程之间不会出现交叉乱序打印,而是顺序地打印。
先来看第一段代码,这里我们在ru ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号