【Java基础】单例模式

    单例模式:保证整个项目运作期间某一个对象有且只有一个。

    主要有:1,饿汉式;2,懒汉式。

 1 class Singleton1//饿汉式
 2 {
 3     private Singleton1(){}//先把构造方法私有化,不允许外界创建对象
 4     private static final Singleton1 instance=new Singleton1();
 5     /*饿汉式就是声明的时候就赋值了
 6     缺点为加载的时候就需要开辟空间,需要损耗性能,加载慢。
 7     */
 8     public static Singleton1 getInstance()
 9     {
10         return instance;
11     }
12 }
13 class Singleton2//懒汉式
14 {
15     private Singleton2(){}
16     private static Singleton2 instance;//=null
17     /*懒汉式就是声明的时候没有赋值
18     缺点为线程不安全
19     */
20     public static Singleton2 getInstance()
21     {
22         if(instance==null)
23             instance=new Singleton2();
24         return instance;
25     }
26 }
27 class SingletonDemo 
28 {
29     public static void main(String[] args) 
30     {
31         Singleton1 s1=Singleton1.getInstance();
32         Singleton1 s2=Singleton1.getInstance();
33         System.out.println(s1==s2);
34 
35         Singleton2 s3=Singleton2.getInstance();
36         Singleton2 s4=Singleton2.getInstance();
37         System.out.println(s3==s4);
38     }
39 }

    本人小菜鸟一枚,以上为网上自学心得总结,如有错误敬请指出。新手童鞋多多交流,大神们多多指点。祝大家生活愉快。

原文地址:https://www.cnblogs.com/zhubingqi/p/4081064.html