原型模式 prototype

短时间大量创建对象时,原型模式和普通new方式效率测试

• 开发中的应用场景
	– 原型模式很少单独出现,一般是和工厂方法模式一起出现,通过clone的方法创建一个对象,然后由工厂方法提供给调用者。
• spring中bean的创建实际就是两种:单例模式和原型模式。(当然,原型模式需要和工厂模式搭配起来)

clone 存在浅克隆和深克隆

浅克隆的内存引用

Java设计模式 原型模式

深克隆的内存引用

Java设计模式 原型模式

实现克隆的方式

  1. 对象bean实现Cloneable接口
  2. 重写Object类中的clone()方法
  3. 创建源对象, 调用源对象的clone()方法进行对象克隆

实现浅克隆的clone()方法

public Object clone() throws CloneNotSupportedException {
    return super.clone();
}

实现深克隆的clone()方法

public Object clone() throws CloneNotSupportedException {
    Prototype clone = (Prototype)super.clone();// 克隆产生的对象

    Xxx xxx = (Xxx) this.xxx.clone();

    clone.setXxx(xxx);

    return clone;
}

相关文章:

  • 2021-11-30
  • 2018-03-22
  • 2021-11-21
  • 2021-12-27
  • 2021-11-30
  • 2021-11-30
  • 2021-11-30
  • 2019-10-30
猜你喜欢
  • 2021-11-30
  • 2021-11-23
  • 2021-09-04
  • 2021-12-19
  • 2021-11-20
  • 2021-10-02
  • 2020-05-05
相关资源
相似解决方案