A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 哥其实不坏 中级黑马   /  2016-5-12 14:03  /  424 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

单例设计模式:
作用:保证整个应用程序中某个实例有且只有一个
类型:懒汉模式(单例的延迟加载模式),饿汉模式
创建步骤:
1.将构造方法私有化,不允许外部直接创建对象
2.创建类的唯一实例   使用private static修饰
3.提供一个用于获取实例的方法   使用public static 修饰
懒汉模式:
public class SingleTon{
        private SingleTon() {
        }
        private static SingleTon instance;
        public static SingleTon getInstance(){
                if (instance==null) {
                        instance=new SingleTon();
                }
                return instance;
        }
}
饿汉模式:
public class SingleTon {
        private SingleTon(){
        }
        private static SingleTon instance=new SingleTon();
        public static SingleTon getInstance(){
                return instance;
        }
}
饿汉模式与懒汉模式的区别:
饿汉模式的特点是加载类时比较慢,但运行时获取对象的速度比较快,线程安全;
懒汉模式的特点是加载类时比较快,但在运行时获取对象的速度比较慢,线程不安全;
饿汉模式是空间换时间,懒汉模式是时间换空间;
在多线程访问时,饿汉式不会创建多个对象,而懒汉式可能会创建多个对象.会有安全隐患。

1 个回复

正序浏览
mark。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马