简介
单例模式是一种常见的模式,懒汉模式考虑线程安全需要在获取单例的方法添加synchronized关键字实现同步代码块,这样造成了性能损耗;而饿汉模式不能延迟实例化对象,下面是一个静态内部类单例模式的实现,既保证了线程的安全,有能够延迟加载,也就是在第一次使用的时候加载。
实现
package com.helper.androidcommon;
/**
* Created by Shinlone on 2016/8/16.
*/
public class Singleton {
private Singleton() {}
/**
* 获取实例
*
* @return
*/
public static Singleton getInstance() {
return SingletonHolder.sIntstance;
}
/**
* 动作A
*/
public void actionA() {
}
/**
* 动作B
*/
public void actionB() {
}
/**
* 一个私有的静态内部类,用于初始化一个静态final实例
*/
private static class SingletonHolder {
private static final Singleton sIntstance = new Singleton();
}
}
使用
Singleton.getInstance().actionA();//获取实例使用方法A
Singleton.getInstance().actionB();//获取实例使用方法B