RSS订阅欢迎来到Java程序员学习天地!
你的位置:首页 » Java开发中的23种模式(一)

Java开发中的23种模式(一)

4.      private Singleton() {  

5.      }  

6.    

7.      /* 此处使用一个内部类来维护单例 */  

8.      private static class SingletonFactory {  

9.          private static Singleton instance = new Singleton();  

10.     }  

11.   

12.     /* 获取实例 */  

13.     public static Singleton getInstance() {  

14.         return SingletonFactory.instance;  

15.     }  

16.   

17.     /* 如果该对象被用于序列化,可以保证对象在序列化前后保持一致 */  

18.     public Object readResolve() {  

19.         return getInstance();  

20.     }  

21. }  

其实说它完美,也不一定,如果在构造函数中抛出异常,实例将永远得不到创建,也会出错。所以说,十分完美的东西是没有的,我们只能根据实际情况,选择最适合自己应用场景的实现方法。也有人这样实现:因为我们只需要在创建类的时候进行同步,所以只要将创建和getInstance()分开,单独为创建加synchronized关键字,也是可以的:

[java] view plaincopy

1.  public class SingletonTest {  

2.    

3.      private static SingletonTest instance = null;  

4.    

5.      private SingletonTest() {  

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

控制面板
您好,欢迎到访网站!
随机文章
热门文章
热评文章
最近发表