Java之单例模式(Singleton)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之单例模式(Singleton)相关的知识,希望对你有一定的参考价值。

摘要:

  1.Singleton模式作用:保证在Java应用程序中,一个Class只有一个实例存在

  2.Singleton的第一种形式:饿汉式单例模式

      (1) 构造函数私有

      (2)有一个static 的private的该类的变量

      (3)通过一个public getInstance的方法获取对它的引用

      代码如下:

      

 1 package com.ggzhang.Test;
 2 
 3 public class Singleton {
 4 
 5     private Singleton() {
 6 
 7     }
 8 
 9     private static Singleton instance = new Singleton();
10 
11     public static Singleton getInstance() {
12         return instance;
13     }
14 }

  3.Singleton的第二种形式:懒汉式单例模式

    (1)先判断一下instance是否被创建.如果创建了就返回,如果没创建就创建,不用每次都进行生成对象,只是第一次使用时生成实例,提高了效率

 1 package com.ggzhang.Test;
 2 
 3 public class Singleton2 {
 4 
 5     private Singleton2() {
 6 
 7     }
 8 
 9     private static Singleton2 instance = null;
10 
11     public static Singleton2 getInstance() {
12         if(instance == null){
13             instance = new Singleton2();
14         }
15         return instance;
16     }
17 }

 

以上是关于Java之单例模式(Singleton)的主要内容,如果未能解决你的问题,请参考以下文章

Java设计模式之单例设计模式(Singleton)

Java设计模式之单例模式 - Singleton

C++之单例(singleton)模式

详解Java设计模式之单例模式(Singleton Pattern)

设计模式之单例模式——Singleton

Go设计模式之单例模式