首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

单例模式(Singleton)的两种兑现方式

2013-09-06 
单例模式(Singleton)的两种实现方式第一种方式:package com.test.utilpublic class SingletonTest {publi

单例模式(Singleton)的两种实现方式
第一种方式:

package com.test.util;public class SingletonTest {public void main(String[] args) {Singleton singleton = Singleton.getInstance();Singleton singleton2 = Singleton.getInstance();System.out.println(singleton == singleton2);}}class Singleton {private static Singleton singleton = new Singleton();private Singleton() {}public static Singleton getInstance() {return singleton;}}


第二种实现方式:
package com.spring;public class SingletonTest2 {public void main(String[] args) {Singleton singleton = Singleton.getInstance();Singleton singleton2 = Singleton.getInstance();System.out.println(singleton == singleton2);}}class Singleton {private static Singleton singleton;private Singleton() {}public static Singleton getInstance() {if (singleton == null) {singleton = new Singleton();}return singleton;}}



相比较而言,第一种实现方式更好更安全一些,第二种实现方式在多线程环境下有时会出现多例的错误!

热点排行