Singleto模式的主要作用是保证在java程序中,一个class只有一个实例存在。在很多操作中,比如建立数据库连接都需要这样的单线程操作。
使用Singleton的优势在于:可以节省内存因为它限制了实例的个数,有利于java垃圾回收。
两种实现方式:
class Singleton
{
private Singleton()
{
}
//
private final static Singleton instance=new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance()
{
return instance;
}
}
class Singleton2
{
//
private static Singleton2 instance=null;
//
public static synchronized Singleton2 getInstance()
{
//使用时生成实例,提高效率
if(instance==null)
instance=new Singleton2();
return instance;
}
}