首页 > 代码库 > 单例模式

单例模式

单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点。

静态内部类public class Singleton6{private Singleton6() { }private static class SingletonInstance{    public static Singleton6 Instance = new Singleton6();}public static Singleton6 Instance(){    return SingletonInstance.Instance;}}适用:单/多线程模式:静态内部类(线程安全)[推荐]优点:避免了线程不安全;延迟加载;效率高(这种方式跟饿汉式方式采用的机制类似:都是采用了类装载的机制来保证初始化实例时只有一个线程。不同的地方是:饿汉式只要Singleton类被装载就会实例化,没有Lazy-Loading的作用;而静态内部类方式在Singleton类被装载时并不会立即实例化,而是在需要实例化时,调用Instance方法,才会装载SingletonInstance类,从而完成Singleton的实例化。)缺点:基本没有

 

单例模式