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

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

大家可能还听过 Singleton  也就是单例模式 这个单例模式要求 在程序的运行时候   一个程序的某个类 只允许产生一个 实例 那么 这个类就是一个单例类 Java Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例在。 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回(garbage collection)
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式(singleton)顾名思义,就是只有一个实例。     作为对象的创建模式[GOF95],单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。    单例模式的要点    显然单例模式的要点有三个   一是某个类只能有一个实例;   二是它必须自行创建这个实例;   三是它必须自行向整个系统提供这个实例

第一种:饱汉模式

 

定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 

 

public class SingleTon {    private SingleTon(){        }    //实例化放在静态代码块里可提高程序的执行效率,但也可能更占用空间        private final static SingleTon instance = new SingleTon();    //这里提供了一个供外部访问本class的静态方法,可以直接访问    public static SingleTon getInstance(){        return instance;    }}

 

第二种:饥汉模式

 

public class SingleTon {    private SingleTon(){}        private static instance = null;//new SingleTon();    //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次     //使用时生成实例,提高了效率!     public static synchronized SingleTon getInstance(){        if(instance == null)            instance = new SingleTon();        return instance;    }}

 

 

 

转载地址:http://pdxql.baihongyu.com/

你可能感兴趣的文章
作用域插槽,用来属性插入
查看>>
201521123068《Java程序设计》第1周学习总结
查看>>
在服务器上安装MongoDB
查看>>
20140104
查看>>
规则(1)
查看>>
CF1025B Weakened Common Divisor【数论/GCD/思维】
查看>>
【Java】使用CSVUtils生成文件并供下载
查看>>
用户态和内核态
查看>>
VR+生物plus 遐想
查看>>
Java并发编程:线程控制
查看>>
今天聊一聊Java引用类型的强制类型转换
查看>>
把数据保存到数据库archives表时出错,请检查
查看>>
JavaSE基本语法、数据类型、操作符等:int、long、Integer、Long、if、else、for、while...
查看>>
解析XML文件
查看>>
牛客练习赛46
查看>>
netty线程模型
查看>>
Codeforces Round #237 Div.2 A
查看>>
initrd.gz的解压和制作
查看>>
LeetCode:Edit Distance(字符串编辑距离DP)
查看>>
设计流程及工具记录
查看>>