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

java设计模式_Composite模式

Composite模式(组合)
   Java深入到一定程度,就不可避免的碰到设计模式这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广泛,遵循一定的编程模式,才能使自己的代码便于理解,易于交流,Composite(组合模式)模式是比较常用的一个模式.
   Composite组合模式,将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。
   优点: 1.使客户端调用简单,客户端可以一致的使用组合结构或其中单个对象,用户就不必关系自己处理的是单个对象还是整个组合结构,这就简化了客户端代码。
         2.更容易在组合体内加入对象部件. 客户端不必因为加入了新的对象部件而更改代码。
  在此写了6个java类来描述说明Composite设计模式的实现方式;
  1、 Circle.java      部件-圆
  2、 Graph.java       部件-抽象类
  3、 Line.java        部件-线
  4、 Picture.java     部件-图
  5、 Rectangle.java   部件-方
  6、 PictureTest.java 带有main方法的测试类
===============   1、 Circle.java
package composite;
//部件-圆
public class Circle extends Graph {
 public void draw() {
  System.out.println("Draw a circle.");
 }
}
===============   1 end
===============   2、 Graph.java
package composite;
import java.util.Iterator;
//部件-抽象类
public abstract class Graph{
 //画图
    public abstract void draw();
 //增加一个图形
 public void add(Graph g){};
 //删除一个图形组件
 public void remove(Graph g){};
 
 //获得组合体的内部部件
 public Iterator<Graph> iter(){return null;};
}
===============   2 end
===============   3、 Line.java
package composite;
//部件-线
public class Line extends Graph {
 public void draw() {
  System.out.p


相关文档:

Java线程:新特征 锁(上)

Java线程:新特征-锁(上)
 
在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、ReadWriteLock。
 
Condition
Condition 将 Object 监视器方法(wait、notify ......

Java线程:新特征 锁(下)

Java线程:新特征-锁(下)
 
在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞争资源的安全访问,但是这种锁不区分读写,称这种锁为普通锁。为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,在一定程度上提高了程序的执行效率。
 
Java中读写锁有个接口java ......

Java线程:新特征 阻塞栈

Java线程:新特征-阻塞栈
 
对于阻塞栈,与阻塞队列相似。不同点在于栈是“后入先出”的结构,每次操作的是栈顶,而队列是“先进先出”的结构,每次操作的是队列头。
 
这里要特别说明一点的是,阻塞栈是Java6的新特征。、
 
Java为阻塞栈定义了接口:java.util.concurrent.Block ......

Java线程:新特征 障碍器

Java线程:新特征-障碍器
 
Java5中,添加了障碍器类,为了适应一种新的设计需求,比如一个大型的任务,常常需要分配好多子任务去执行,只有当所有子任务都执行完成时候,才能执行主任务,这时候,就可以选择障碍器了。
 
障碍器是多线程并发控制的一种手段,用法很简单。下面给个例子:
 
import jav ......

java 视频处理 ffmpeg+mencoder

java 视频处理 ffmped+mencoder
转载自 http://huqilong.blog.51cto.com/53638/136985
 
ffmpeg+mencoder几乎可以完成目前基于web的播客平台任何音视频处理的操作.如果还需要添加一些什么的话,那么就是视频在线录制功能了,这个也可以用ffmpeg+fms来完成,因此一般的类似于YouTube的一些可见功能都可以在ffmpeg+menco ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号