java单例模式

来源:互联网 发布:图像处理滤波算法 编辑:程序博客网 时间:2024/06/06 11:00
package com.t.single;public class SingleInstance01{    private static SingleInstance01 singleInstance = null;        private SingleInstance01() {            }        public static synchronized SingleInstance01 getInstance()    {        if (null == singleInstance)        {            singleInstance = new SingleInstance01();        }        return singleInstance;    }}


该单例实现,当首次调用的时候实例化对象,对获取实例方法进行了加锁,效率不是很高。

 

package com.t.single;public class SingleInstance02{       private static SingleInstance02 singleInstance = new SingleInstance02();        private SingleInstance02() {            }        public static SingleInstance02 getInstance()    {        return singleInstance;    }}

该单例在加载是直接进行实例化

 

package com.t.single;public class SingleInstance03{       private SingleInstance03() {            }        public static SingleInstance03 getInstance()    {        return UniqueSingleInstance.uniqueSingleInstance;    }        private static class UniqueSingleInstance{        static SingleInstance03 uniqueSingleInstance = new SingleInstance03();    }}


这个单例使用了静态内部类的写法,感觉是最好的。

原创粉丝点击