• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件測試開發技術java對象序列化[3]

    發表于:2009-11-18來源:作者:點擊數: 標簽:軟件測試javaJAVAJava序列
    軟件測試 開發 技術 java 對象序列化[3] 軟件測試工具 關鍵字:oo 關于如何使用定制序列化的部分代碼如下: //重寫writeObject()方法以便處理transient的成員。 public void writeObject(ObjectOutputStream outputStream) throws IOException{ outputStream

    軟件測試開發技術java對象序列化[3]  軟件測試工具

    關鍵字:oo 關于如何使用定制序列化的部分代碼如下:

        //重寫writeObject()方法以便處理transient的成員。

        public void writeObject(ObjectOutputStream outputStream) throws IOException{
        outputStream.defaultWriteObject();//使定制的writeObject()方法可以
        利用自動序列化中內置的邏輯。

        outputStream.writeObject(oSocket.getInetAddress());
        outputStream.writeInt(oSocket.getPort());
        }

        //重寫readObject()方法以便接收transient的成員。

        private void readObject(ObjectInputStream inputStream) throws IOException,ClassNotFoundException{
        inputStream.defaultReadObject();//defaultReadObject()補充自動序列化
        InetAddress oAddress=(InetAddress)inputStream.readObject();
        int iPort =inputStream.readInt();
        oSocket = new Socket(oAddress,iPort);
        iID=getID();
        dtToday =new Date();
        }

        完全定制序列化過程:

        如果一個類要完全負責自己的序列化,則實現Externalizable接口而不是Serializable接口。Externalizable接口定義包括兩個方法writeExternal()與readExternal()。利用這些方法可以控制對象數據成員如何寫入字節流.類實現Externalizable時,頭寫入對象流中,然后類完全負責序列化和恢復數據成員,除了頭以外,根本沒有自動序列化。這里要注意了。聲明類實現Externalizable接口會有重大的安全風險。writeExternal()與readExternal()方法聲明為public,惡意類可以用這些方法讀取和寫入對象數據。如果對象包含敏感信息,則要格外小心。這包括使用安全套接或加密整個字節流。到此為至,我們學習了序列化的基礎部分知識。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>