Java 单例设计模式的两种实现

在看视频教程的时候看到的第一种设计模式,总体而言还是比较简单的,单例设计模式是限制实例化,只能有一个实例,就是所谓的单例。

实际上,只要做到三点就满足了单例设计模式:

  1. 构造函数私有化
  2. 类中创建一个实例对象
  3. 提供一个方法获取该对象

单例设计模式一共有两种实现,一种叫做饿汉式,一种叫做懒汉式。

先看第一种吧:

 class Single
 {
     private static Single s = new Single();
     private Single() {}

     public static Single getInstance()
     {
         return s;
     }
 }

这种在Single类在内存中的时候就直接初始化完毕了。

而懒汉式则是在调用中初始化:

class Single
 {
     private static Single s = null;
     private Single() {}

     public static Single getInstance()
     {
         if (s == null)
             s = new Single();

         return s;
     }
 }

但是懒汉式在多线程时会遇到问题,所以还是饿汉式更“方便”。

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 知识, 代码段

仅有一条评论

  1. 路人

    还有个用枚举来实现的

添加新评论