zoukankan      html  css  js  c++  java
  • 设计模式系列之----原型模式

    原型模式也就是克隆模式,当一个对象比较大,new对象比较耗时间,那么就可以采用原型模式来进行复制,复制分深复制和浅复制,深复制就是连引用对象也一起复制,而浅复制只复制引用对象的引用地址,不复制对象本体,要实现浅复制,只需要实现目标对象实现Cloneable接口,实现clone()方法,直接return super.clone();就可以实现复制,JDK调用的是native虚拟机中的C代码实现的复制,而深复制就需要实现Serializable接口来进行序列化操作,通过序列化成二进制来创建新对象,代码如下:

    		Sheep sheep1 = new Sheep("a");
    		ByteArrayOutputStream bos=new ByteArrayOutputStream();
    		ObjectOutputStream oos=new ObjectOutputStream(bos);//先反序列化对象到字节数组流中
    		oos.writeObject(sheep1);
    		byte[] outArray = bos.toByteArray(); 
    		
    		ByteArrayInputStream bis=new ByteArrayInputStream(outArray);
    		ObjectInputStream ois=new ObjectInputStream(bis);  //从字节数组流中读取到对象
    		Sheep sheep2=(Sheep) ois.readObject(); //拷贝了一份新对象
    

      

  • 相关阅读:
    JSTL标签
    EL(表达式语言)
    JDBC技术
    Java中的一些术语的解释
    Servlet过滤器和监听器
    MVC-初识
    EF-初识
    .NET细节知识总结,不断更新
    多线程-Task、await/async
    多线程-Thread和ThreadPool
  • 原文地址:https://www.cnblogs.com/javabg/p/7444860.html
Copyright © 2011-2022 走看看