<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    天空是藍(lán)色的

    做好軟件為中國(guó) #gcc -c helloworld.c -o helloworld.o //編譯目標(biāo)文件 #gcc helloworld.o -o helloworld //編譯成可執(zhí)行exe #helloworld //運(yùn)行exe
    數(shù)據(jù)加載中……
    Java對(duì)象序列化機(jī)制

    對(duì)象序列化機(jī)制對(duì)于需要將對(duì)象的狀態(tài)保存到文件中,而后能夠通過(guò)讀入對(duì)象狀態(tài)來(lái)重新構(gòu)造對(duì)象,恢復(fù)程序狀態(tài),或者使用套接字在網(wǎng)絡(luò)上傳送對(duì)象的程序來(lái)說(shuō),是很有用的。通過(guò)讓類實(shí)現(xiàn)java.io.Serializable 接口可以將類序列化。這個(gè)接口是一個(gè)制造者(marker)接口。也就是說(shuō),對(duì)于要實(shí)現(xiàn)它的類來(lái)說(shuō),該接口不需要實(shí)現(xiàn)任何方法。它主要用來(lái)通知Java虛擬機(jī)(JVM)需要將一個(gè)對(duì)象序列化。

    也叫串行化,對(duì)象的域轉(zhuǎn)化為緊湊的2進(jìn)制形式,是對(duì)象持久化的方法之一。

    《實(shí)現(xiàn)類的序列化--例子將Vector對(duì)象壓入標(biāo)準(zhǔn)流》出處 CN-JAVA原創(chuàng):jackliu

    Vector對(duì)象是一個(gè)很靈活的java數(shù)據(jù)結(jié)構(gòu),在實(shí)際編程中,有時(shí)需要我們將一個(gè)Vector對(duì)象傳遞給另一個(gè)Java程序并保持Vector的數(shù)據(jù)結(jié)構(gòu)狀態(tài),這時(shí),我們可以將需要傳遞的對(duì)象實(shí)現(xiàn)java.io.Serializable接口,序列化這個(gè)類,由于序列化本身就是允許一個(gè)對(duì)象在虛擬機(jī)之間傳送(或者經(jīng)過(guò)一段空間,如在RMI中;或者經(jīng)過(guò)一段時(shí)間,比如數(shù)據(jù)流被保存到一個(gè)文件中)。 關(guān)于類的序列化請(qǐng)查閱相關(guān)資料,本篇不在敘述,下面使用一個(gè)簡(jiǎn)單的程序說(shuō)明如何把一個(gè)Vector對(duì)象序列化并放到一個(gè)流中(為了測(cè)試方便,這里放到一個(gè)文件流中,如果換成一個(gè)套接字就可以把對(duì)象發(fā)送給遠(yuǎn)程請(qǐng)求者)

    程序1:把一個(gè)Vector對(duì)象存儲(chǔ)到一個(gè)testvector.obj文件里(模擬server socket處理)

     1import java.io.*;
     2import java.util.*;
     3
     4class TestVector implements java.io.Serializable{
     5        private Vector vect=new Vector();
     6        
     7        public void add(Object obj){
     8                this.vect.add(obj);
     9        }

    10        public void print(){
    11                System.out.println(this.vect);
    12        }

    13        public static void main(String[] args){
    14                try {
    15                        /* 將對(duì)象寫(xiě)到一個(gè)文件里 */
    16                        FileOutputStream objfile = new FileOutputStream("testvector.obj");
    17                        /* 創(chuàng)建一個(gè)輸出流 */
    18                        ObjectOutputStream p = new ObjectOutputStream(objfile);
    19                        /* 創(chuàng)建一個(gè)TestVector對(duì)象 */
    20                        TestVector tv =new TestVector();
    21                        /*給Vector寫(xiě)入幾String個(gè)對(duì)象*/
    22                        tv.add("One");
    23                        tv.add("Two");
    24                        tv.add("Three");
    25                        p.writeObject(tv); // 把tv寫(xiě)入流
    26                        p.flush();
    27                        objfile.close();    // 關(guān)閉文件對(duì)象
    28                }
     catch (Exception e) {
    29                        e.printStackTrace();
    30                }

    31        }

    32}

    33

    編譯程序1,運(yùn)行后,在當(dāng)前目錄生成一個(gè)testvector.obj文件,這個(gè)文件里存放了TestVector類的數(shù)據(jù)


    程序2:從testvector.obj文件里獲取TestVector對(duì)象(模擬socke客戶端)

     1import java.io.*;
     2import java.util.*;
     3
     4class ReadVectorObj{
     5        public static void  main (String[] args){
     6                try {
     7                        /* 打開(kāi)文件,讀取Vector 存放的對(duì)象數(shù)據(jù) */
     8                        FileInputStream objfile = new FileInputStream("testvector.obj");
     9                        ObjectInputStream q = new ObjectInputStream(objfile);
    10                        /* 獲取對(duì)象原始數(shù)據(jù) */
    11                        TestVector myvector = (TestVector)q.readObject();
    12                        myvector.print(); 
    13                }
     catch (Exception e) {
    14                        e.printStackTrace();   
    15                }

    16        }

    17}


    編譯程序2,運(yùn)行后,讀取testvector.obj文件,根據(jù)內(nèi)容構(gòu)建出原始的TestVector類。

    posted on 2005-11-09 09:52 bluesky 閱讀(802) 評(píng)論(0)  編輯  收藏 所屬分類: 基礎(chǔ)知識(shí)

    主站蜘蛛池模板: 人人狠狠综合久久亚洲高清| 亚洲日韩中文字幕一区| 中文字字幕在线高清免费电影| 午夜国产羞羞视频免费网站| 亚洲A∨精品一区二区三区下载| 午夜a级成人免费毛片| 亚洲第一综合天堂另类专| 性色av免费观看| 亚洲一区二区三区高清在线观看| 亚洲欧洲免费无码| 亚洲卡一卡二卡乱码新区| 成人奭片免费观看| 亚洲熟女www一区二区三区| 成年人性生活免费视频| 亚洲精品美女久久7777777| 日韩中文字幕免费| 免费人成视频在线观看免费| 久久精品夜色噜噜亚洲A∨| 国产午夜无码片免费| 亚洲欧洲国产精品你懂的| 57PAO成人国产永久免费视频| 亚洲日日做天天做日日谢| 国产色爽女小说免费看| 一区二区免费在线观看| 亚洲av伊人久久综合密臀性色| 最近新韩国日本免费观看| 亚洲无人区码一二三码区别图片 | 18禁男女爽爽爽午夜网站免费| 亚洲成a人片在线观| 成人av免费电影| 一级毛片试看60分钟免费播放| 亚洲国产精品无码AAA片| 亚洲电影在线免费观看| 亚洲人成网站免费播放| 精品国产日韩亚洲一区| 2021在线观看视频精品免费| 亚洲夂夂婷婷色拍WW47| 国产美女亚洲精品久久久综合| 日本免费一区二区在线观看| 亚洲av成人无码网站…| 亚洲精品乱码久久久久久按摩|