同上 最好有例子

解决方案 »

  1.   

    单例模式,确保某个类在系统中只存在一个实例,并且自行实例化并向这个系统提供这个实例。
    class A{
        static final A a=new A();
        private A(){
        
        }
        public static A getInstance(){
            return a;
        }
    }
    这个是饿汉单例模式
      

  2.   

    public class SingleTon
    {
    private SingleTon instance=null;
    private SingleTon()
    {
    }
    public SingleTon getInstance()
    {
    if(this.instance==null)
    {
    return new SingleTon();
    }
    return instance;
    }
    }
      

  3.   

    Singleton是单例模式,在整个jvm中只存在唯一的实例,主要特征是构造函数是private,也就是说是私有的,不能通过new来创建实例,只能调用自身的一个函数来创建对象。
    具体的例子楼上几位大哥已经写的很清楚了。
      

  4.   

    在实际项目中用这种模式比较的就是Logger了,比如说将一些信息记录到文本文件中,对于一般的应用不需要使用log4j,直接用PrintWriter来写文件
      

  5.   

    package net.cnnic.epp.client.logger;import java.io.FileWriter;public class Logger
    {
    private static FileWriter out = null;
    private static Logger singlon = null; public static Logger getLogger()
    {
    return getLogger(null);
    } public static Logger getLogger(String logfile)
    {
    if(singlon == null)
    singlon = new Logger(logfile); return singlon; } private Logger()
    {
    this(null);
    } private Logger(String filename)
    {
    if(filename == null)
    filename = "client_session.log";
    try
    {
    out = new FileWriter("client_session.log", true); }catch(Exception e)
    {
    System.out.println("create logger error");
    }
    } public synchronized void write(String message)
    {
    if(out == null || message == null)
    return ; try
    {
    out.write(message+"\r\n");
    out.flush();
    }catch(Exception e)
    {
    System.out.println("log error");
    }
    }
    }可以参考这个
      

  6.   

    系统中你需要获得某个类的唯一实例,所有客户端对它的访问都通过一个公共的方法获得.
    解决方法:
        创建一个类并使其定义一个私有的构造方法 再定义个私有 静态的实例变量指向自己 然后定义个公有 静态的访问方法 用于返回该类的唯一实例 
    Singleton分为饿汉式和懒汉式
    1楼的是饿汉式 2楼的是懒汉式
    区别在于懒汉式是线程不安全的 所以应该尽量使用饿汉式
      

  7.   

    up!以上各位把我要说的都说了,只能up了
      

  8.   

    up 
    单例模式,一般用在连接数据库上比较多,定义一个实例(public)
      

  9.   

    Singleton模式是最简单的一种模式了,
    楼主可以参考一些实做,有线程安全的考虑哦。
      

  10.   

    二楼的代码错了
    public class SingleTon
    {private SingleTon instance=null;
    private SingleTon()
    {
    }
    public static synchronized SingleTon getInstance()
    {
    if(this.instance==null)
    {
    return new SingleTon();
    }
    return instance;
    }
    }
    1.getInstance 方法要是静态的,不然永远创建不了该类的对象
    2.getInstance 方法是要同步的,不然多线程时有可能产生多个实例
      

  11.   

    楼上的也错了,应该是 public synchronized  static SingleTon getInstance(),:)
      

  12.   

    下面是一个比较完善的Singleton模式的实现,并且避免了多线程的问题,请供参考。public class SingleTon {
    private volatile static SingleTon instance = null; // volatile private SingleTon() {
    } public static SingleTon getInstance() {
    if (instance == null) {
    synchronized (SingleTon.class) {
    if(instance == null)
    instance = new  SingleTon();
    }
    }

    return instance;
    }
    }
      

  13.   

    Singleton是个rubbish模式(大多数情况下)
      

  14.   

    弱弱的问一下,private volatile static SingleTon instance = null;
    这句是什么意思,别见笑,是真的不懂
      

  15.   

    我写过一个文章:单例模式的误区 http://www.blogjava.net/crazycy/archive/2006/07/15/58268.html不妨参考一下