采用类的静态方法,实现单例模式的效果和不使用静态方法实现的单例模式的区别: 1,静态类不能实现接口。(从类的角度说是可以的,但是那样就破坏了静态了。因为接口中不允许有static修饰的方法,所以即使实现了也是非静态的) 2,单例可以被延迟初始化,静态类一般在第一次加载是初始化。之所以延迟加载,是因为有些类比较...
} 在多线程环境下,代码1和代码2之间,这里会有线程安全问题,线程A和线程B同时到代码1和代码2之间,两个线程同时创建两个对象,这不符合单例模式; 解决方案: 可用双重检查锁来实现 以下是双重检查锁的代码: publicclassDemo {privatestaticSingle single2 =null;//饿汉模式publicDemo() {if(single2 ==null) {syn...
} 在多线程环境下,代码1和代码2之间,这里会有线程安全问题,线程A和线程B同时到代码1和代码2之间,两个线程同时创建两个对象,这不符合单例模式; 解决方案: 可用双重检查锁来实现 以下是双重检查锁的代码: publicclassDemo {privatestaticSingle single2 =null;//饿汉模式publicDemo() {if(single2 ==null) {syn...