A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周博文 中级黑马   /  2015-8-17 16:36  /  133 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

单例设计模式是常见的设计模式中的一种,其目的在于保证程序运行中某个类只有一个实例。
单例设计模式分为:
懒汉式:在需要使用该类对象的时候才进行对象的创建
  1. public class Singleton {
  2.         private static Singleton instance = null;

  3.         private Singleton () {}

  4.         public static Singleton getInstance() {
  5.                 if (instance != null){
  6.                         instance = new Singleton();
  7.                 }
  8.                 return instance;
  9.         }
  10. }
复制代码

饿汉式:
  1. public class Singleton {
  2.         private static Singleton instance = new Singleton();

  3.         private Singleton () {}

  4.         public static Singleton getInstance() {
  5.                 return instance;
  6.         }
  7. }
复制代码

另外还有线程安全的单例设计模式:
  1. public class Singleton {
  2.         private static Singleton instance = null;

  3.         private Singleton () {}

  4.         public static Singleton getInstance() {
  5.                 //判断是否已经创建实例
  6.                 if (instance == null) {
  7.                         synchronized (Singleton.class){
  8.                                 //判断其他线程是否已经创建实例
  9.                                 if(instance == null) {
  10.                                         instance = new Singleton();
  11.                                 }
  12.                         }
  13.                 }
  14.         }
  15. }
复制代码



1 个回复

倒序浏览
本帖最后由 pengbeilin 于 2015-8-17 17:50 编辑

我就说嘛 定义对象的时候 加个 final 会跟严谨
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马