单例模式
概念:只有一份实例对象, 存放在内存中。
1、分类
分为:懒汉式 和 饿汉式
①、懒汉式
1、懒汉式:概念
用到的时候,再去new对象,类似于:延迟加载
2、懒汉式:代码
package com.yyy.domain;
/**
* 单例模式(分类之一):
* 懒汉式
*/
public class Singleton {
//1、私有构造方法
private Singleton(){
}
//2、创建:Singleton静态实例对象
private static Singleton instance;
//3、提供(公有静态)方法:返回静态实例对象
public static Singleton getInstance(){
if(instance == null){
synchronized (Singleton.class){ //锁:类对象
if(instance == null){
instance = new Singleton();
}
}
}
return instance;
}
}
3、懒汉式:代码图

②、饿汉式
1、饿汉式:概念
直接new对象, 未雨绸缪
2、代码
package com.yyy.domain;
/**
* 单例模式(分类之一):
* 饿汉式
*/
public class Singleton {
//1、私有构造方法
private Singleton(){
}
//2、创建:Singleton静态实例对象
private static Singleton instance = new Singleton(); //为什么不加final? 因为外部类(正常情况)是改不了:私有属性的
//3、提供(公有静态)方法:返回静态实例对象
public static Singleton getInstance(){
return instance;
}
}
3、代码图

若有问题可联系本人qq:2560055298 (探讨) ---老洋