zoukankan      html  css  js  c++  java
  • Java单例模式

    一.设计模式简介

    二.单例模式实现

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

     

    三.单例模式优缺点

        

        

  • 相关阅读:
    Python3.5.2官方文档学习备忘录
    Linux下升级python版本
    役物,役于物
    各种编辑器添加注释快捷键
    Python3爬取百度百科(配合PHP)
    Python3向网页POST数据
    Python3爬取中文网址
    Python3批量爬取网页图片
    django中间件
    django创建上下文
  • 原文地址:https://www.cnblogs.com/lyq-biu/p/10695448.html
Copyright © 2011-2022 走看看