程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> serializable-java 序列化有什麼意義?(希望能用白話講解)

serializable-java 序列化有什麼意義?(希望能用白話講解)

編輯:編程綜合問答
java 序列化有什麼意義?(希望能用白話講解)

序列化生成的文件,我寫了個類就能拿到對象。那這還有什麼意義,沒什麼加密作用啊?
是我理解錯了嗎?
我的測試代碼:
class Cat implements Serializable{
private String name;
public Cat(){
this.name = "new cat";
}

public String getName(){
    return this.name;
}

public void setName(String name){
    this.name=name;
}

public static void main(String []args){
    Cat cat = new Cat();
    try{
        //這就是要序列化文件的存儲位置,是由自己控制的。
        //FileOutputStream fos = new FileOutputStream("zmy/catDemo2.txt");
        FileOutputStream fos = new FileOutputStream("zmy/catDemo2.bat");
        ObjectOutputStream oos = new ObjectOutputStream(fos);

        System.out.println("1>"+cat.getName());
        cat.setName("zMy cat");

        oos.writeObject(cat);
        oos.close();
    }catch(Exception e){
        e.printStackTrace();
    }
}

}

public class TestReadSerializable implements Serializable{
public static void main(String []args){
try{
FileInputStream fis = new FileInputStream("zmy/catDemo2.bat");
ObjectInputStream ois = new ObjectInputStream(fis);

        Cat cat = (Cat)ois.readObject();
        System.out.println(cat.getName());
        ois.close();
    }catch(Exception e){
        e.printStackTrace();
    }
}

}

最佳回答:


當兩個進程進行遠程通信時,可以相互發送各種類型的數據,包括文本、圖片、音頻、視頻等, 而這些數據都會以二進制序列的形式在網絡上傳送。那麼當兩個Java進程進行通信時,能否實現進程間的對象傳送呢?答案是可以的。如何做到呢?這就需要Java序列化與反序列化了。換句話說,一方面,發送方需要把這個Java對象轉換為字節序列,然後在網絡上傳送;另一方面,接收方需要從字節序列中恢復出Java對象。

baokx
u013683780
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved