两种单例模式有什么不同啊?
public class Singleton { private static Singleton instance = null; private Singleton(){ //do something } public static Singleton getInstance(){ if(instance==null){ instance = new Singleton(); } return instance; } } 和 public class Singleton { private static Singleton instance = new Singleton(); private Singleton(){ //do something } public static Singleton getInstance(){ return instance; } }
最满意答案
前一个单例的创建是在第一次调用方法时。后一个单例的创建是实例化该类后就创建了。但是笔者认为,后一个不是单例模式。因为他可以同时创建多个对象。而前一个虽说是,但不严谨,没考虑到同步问题。在其得到实例方法中最好加上synchronized(同步)关键字…我手机回的。具体的你可以百度下资料的。更多推荐
发布评论