Java對象的深複製----利用序列化進行深複製

來源:互聯網
上載者:User

標籤:

把對象寫到流裡的過程是序列化(Serilization)過程,但是在Java程式圈裡又非常形象地稱為“冷凍”或者“醃鹹菜”過程;而把對象從流中讀出來的並行化(Deserialization)過程則叫做“解凍”或者“回鮮”過程。應當指出的是,寫到流裡的是對象的一個拷貝,而原來對象仍然存在於JVM裡面,因此“醃成鹹菜”的只是對象的一個拷貝。

在Java語言裡深複製一個對象,常常可以先使對象實現Serializable介面,然後把對象(實際上只是對象的一個拷貝)寫到一個流裡(醃成鹹菜),再從流裡讀回來,便可以重建對象。

public class DeepCopyDemo implements Serializable{public Object deepClone() throws Exception{//將對象寫到流裡ByteArrayOutputStream bo=new ByteArrayOutputStream();ObjectOutputStream oo=new ObjectOutputStream(bo);oo.writeObject(this);//將對象讀出來ByteArrayInputStream bi=new ByteArrayInputStream(bo.toByteArray());ObjectInputStream oi=new ObjectInputStream(bi);return (oi.readObject());}}

 

Java對象的深複製----利用序列化進行深複製

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.