博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java单例模式
阅读量:7031 次
发布时间:2019-06-28

本文共 693 字,大约阅读时间需要 2 分钟。

一.设计模式简介

 

二.单例模式实现

   1.饿汉式实现:

    注:和Python利用Python本身模块实现单例模式一样(无论用不用,直接创建一个实例)

    创建对象实例的时候直接实例化【空间换时间,在加载类的时候就创建了实例,速度快,空间大】

    代码:

1 package com.swpu.single; 2  3 public class SingletonOne { 4     //创建类中私有构造(在其他地方不能对类实列化,无法访问私有构造) 5     private SingletonOne(){ 6          7     } 8     //创建该类的私有静态实例 9     private static SingletonOne instance=new SingletonOne();10     //创建公有静态方法返回静态实例11     public static SingletonOne getInstance(){12         return instance;13     }14 }
View Code

  2.懒汉式实现:

    注:和Python中利用装饰器或者重写__new__方法,使用元类相似(需要用的时候在实例化【线程不安全】)

    类内实例对象创建时并不直接初始化,知道第一次调用get方法时才完成初始化操作【时间换空间】

  3.饿汉式和懒汉式比较:

 

三.单例模式优缺点

    

 

    

转载于:https://www.cnblogs.com/lyq-biu/p/10695448.html

你可能感兴趣的文章
Android开发之Activity转场动画
查看>>
List集合三种遍历方法
查看>>
【译】OpenDaylight控制器:YANG Schema和Model
查看>>
C#访问修饰符(public,private,protected,internal,sealed,abstract)
查看>>
android消息线程和消息队列
查看>>
EXCEL中计算不重复单元格的个数
查看>>
二层设备与三层设备的区别--总结
查看>>
安装pytorch成功但cuda不可用
查看>>
unity__DrawCall的理解
查看>>
springboot架构下运用shiro后在configuration,通过@Value获取不到值,总是为null
查看>>
SQLServer 数据库镜像+复制切换方案
查看>>
Postman初探
查看>>
仿淘宝头像上传功能(一)——前端篇。
查看>>
Eclipse通过集成svn实现版本控制
查看>>
OS开发过程中常用开源库
查看>>
关于在多个UItextield切换焦点
查看>>
hdu 2768
查看>>
git记住用户名密码
查看>>
ElasticSearch(2)-安装ElasticSearch
查看>>
从mysql数据表中随机取出一条记录
查看>>