码迷,mamicode.com
首页 > 编程语言 > 详细

Java单例模式

时间:2019-04-13 18:55:08      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:设计   one   安全   view   open   空间   style   对象   饿汉   

一.设计模式简介

技术图片

 

二.单例模式实现

技术图片

   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.饿汉式和懒汉式比较:

技术图片

 

三.单例模式优缺点

    技术图片

技术图片

 

    

Java单例模式

标签:设计   one   安全   view   open   空间   style   对象   饿汉   

原文地址:https://www.cnblogs.com/lyq-biu/p/10695448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!