java设计模式

模式就是可以被效仿以及重复使用的规则。模式一般可以分为三大类:创建模式,结构模式以及行为模式。

下面来看看比较常用的设计模式:

单态/单件模式:

 保证一个类在软件系统的整个生命周期中仅仅只会出现一个实例,并且能够提供一个访问它的全局访问点。这是为了解决在多线程的环境下,有可能会引发资源访问冲突的问题而提出的。

 在单件模式下,类和它的实例是一对一的关系,有且仅有一个类的实例与它对应,单件模式的类在同一时刻只能拥有唯一的instance。这个类最大的特点就是把它的构造方法声明为私有的(private),通常会在这个类的声明中定义一个名为getInstance()的方法来获取这个类的实例。一个类的静态变量可以被这个类的所有实例所共享,所以只要在该类的实例变量上面加上static和private关键字就可以了。

public class Singleton{
	private static Singleton single=null;
	private Singleton(){
	}
	public static synchronized Singleton getInstance(){
		if(single==null){single=new Singleton();}
		return single;
	}
	public void finalize(){
		single=null;
	}
}

 这个模式在JAVA的数据库连接池的实现中被应用。在数据库连接池软件中,有且仅有一个连接池管理者,一个管理者可以同时管理多个连接池对象,这时因为数据库的连接是单线程操作的。

单件模式可以是软件的架构更为清晰,可读性更高,采用单件模式可以有效的解决多线程环境下的资源访问冲突的问题。同时采用这种方式比采用同步的方式更能节约系统的资源,不管外部类怎样的调用,这个类的实例却始终只有一个在内存中维护着。               

你可能感兴趣的:(java,设计模式,多线程,数据结构)