天天看点

设计模式

一、单例模式Singleton

特点:

  1、单例类只能有一个实例

  2、单例类自己创建自己的唯一实例

  3、单例类必须给整个系统提供这个实例

饿汉式:

  优点:写法简单,在类装载的时候就完成了实例化,避免了线程同步问题

  缺点:没有延迟加载在类装载的时候就完成了实例化,如果没有使用过实例,就会造成内存浪费

懒汉式:线程不安全

  1、构造函数私有化

  2、类中初始化一个私有的静态常对象

  3、通过get方法获取该实例

二、原型模式prototype:通过拷贝指定的原型实例,创建和该对象一样的新对象

深拷贝:不仅复制成员变量中 基本数据类型的值,还会给引用数据类型的成员变量申请存储空间,这样拷贝出来的新对象不会对原来造成影响

浅拷贝:1、当成员变量是基本数据类型时,复制值  2、当成员变量是引用数据类型,复制引用数据类型的地址值

【注】

  1、Object类中提供的clone都是浅拷贝,可以把String当作基本类

  2、使用clone方法,类的成员变量不能增加final关键字

实现Cloneable接口,当作原型

上一篇: 设计模式
下一篇: 设计模式

继续阅读