这几天在慕课网上初步学习了单例模式,瞬间感觉单例模式使用性好强大,下面就通过我自己的理解介绍单例模式。
单例模式是java最基础,最常用的一种模式之一。单例模式使一个类在整个运用程序中仅有一个对象。单例模式主要分为:饿汉模式,懒汉模式。下面将用代码简单介绍一下这两种模式:
1、饿汉模式
饿汉模式是在类加载时加载,所以类加载较慢,运行时较快,线程安全。
//1将构造方法private,保证外部允许创建实例
private Singleton(){
}
//2在内部创建属于类的实例
private static Singleton singleton = new Singleton();
//3创建提供外部访问实例类方法
public static Singleton getSingleton (){
return singleton;
}
2、懒汉模式
在运行时加载,类加载时叫快,运行时加载较慢,线程不安全
//1将构造函数私有化,使外部不能直接实例化对象
private Singleton2(){
}
//创建类对象
private static Singleton2 singleton2;
//创建public的类方法,是外部间接创建对象,仅创建一个对象
public static Singleton2 getInstance(){
if (singleton2 == null) {
singleton2 = new Singleton2();
}
return singleton2;
}
以上是我对单例模式的简单介绍,由于本人是菜鸟,有什么不对的地方,希望大家指出。