Java单例模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java单例模式相关的知识,希望对你有一定的参考价值。
由于经常用笔记本上网,还是在博客里备份一下自己的学习成果比较好,复习起来也很方便。
从今天开始把自己会的知识总结在博客里。
以下为单例模式里的两种方法的代码:饿汉模式和懒汉模式。
/** * 单例模式Singleton * 应用场合:有些对象只需要一个就够了,如老婆。。。 * 作用:保证整个应用程序中某个实例有且只有一个 * 类型:饿汉模式、懒汉模式 * 本类为饿汉模式,类加载时就会创建好实例,与调用与否无关 */ public class Singleton { //1、将构造方法私有化,不允许外部直接创建实例化,否则可以new无数个对象 private Singleton(){ } //2、创建类的唯一实例,由于第3步必须static,所以instance实例也必须是static private static Singleton instance = new Singleton(); //3、提供一个用于获取实例的方法,必须static外部才能用类名调用这个方法! public static Singleton getInstance(){ return instance; } }
/** * 懒汉模式 * 区别: * 饿汉模式加载类比较慢,但运行时获取对象的速度比较快,而且线程安全; * 懒汉模式则相反,而且线程不安全 */ public class Singleton2 { //1、将构造方法私有化,不允许外部直接创建实例化,否则可以new无数个对象 private Singleton2(){ } //2、只声明类的唯一实例,由于第3步必须static,所以instance实例也必须是static private static Singleton2 instance; //3、提供一个用于获取实例的方法,必须static外部才能用类名调用这个方法! public static Singleton2 getInstance(){ //判断是否为空 if(instance==null){ instance=new Singleton2(); return instance; } return null; } }
以上是关于Java单例模式的主要内容,如果未能解决你的问题,请参考以下文章