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

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

 

单例模式
       简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去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;    }}   

转载于:https://www.cnblogs.com/wyf-love-dch/p/8980991.html

你可能感兴趣的文章
CustomValidator 的应用
查看>>
Java基础问题10问
查看>>
SQL Serever学习6——数据表
查看>>
洛谷——P1462 通往奥格瑞玛的道路
查看>>
MySql的安装
查看>>
hdoj2003解题报告
查看>>
越学越迷茫
查看>>
[noip模拟]水灾<BFS>
查看>>
PSP(5.4——5.10)以及周记录
查看>>
Python设计模式——建造者模式
查看>>
JQuery快速入门
查看>>
machine learning----->有监督学习和无监督学习的区别
查看>>
学习canvas过程中的小菜鸟
查看>>
大数据(8) - hive的安装与使用
查看>>
てある与ている的区别
查看>>
第4题
查看>>
初探JavaScript(一)——也谈元素节点、属性节点、文本节点
查看>>
20145209 2016-2017-2 《Java程序设计》第2周学习总结
查看>>
NX签名//NXOpen VB.Net / C# Sign
查看>>
Mac下安装nginx
查看>>