zoukankan      html  css  js  c++  java
  • 单例设计模式的简单model

     
    单例模式

           简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。

        单例模式实现起来也很容易,但是大量使用单例模式可能造成内存泄露,因为单例对象一旦创建,就会保存在堆中,垃圾回收器也无法清除这个对象的引用,因为Hot spot本身是采用“引用链可达法”来进行是否进行回收的,而单例这样单独的存在会造成一个强引用,而无法被清除。这样对象堆积下去,就会发生out of memory!

        单例模式实现方法一般有三种:懒汉式单例、饿汉式单例、登记式单例。

    下面直接写代码:懒汉式的线程安全的单例

         

    //懒汉 线程安全  单例
    public class Singleton {
    
        private static Singleton singleton;
    
        private Singleton() {
        }
    
        public static Synchronized Singleton getInstance() {
            if (singleton == null) {
                singleton = new Singleton();
            }
            return singleton;
        }
    }   


  • 相关阅读:
    在线心理测试脚本
    素数
    设置层叠效果
    年轻,无权享受...
    Unity3D之预设
    Json解析类
    php 正则表达式
    php 字符串处理
    php 基础语法
    SQL 函数
  • 原文地址:https://www.cnblogs.com/wyf-love-dch/p/8980991.html
Copyright © 2011-2022 走看看