暴疯禹 2015-08-17 15:56 采纳率: 100%
浏览 3629
已采纳

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();
    }
}

}

  • 写回答

5条回答 默认 最新

  • havedream_one 2015-08-17 23:09
    关注

    当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。那么当两个Java进程进行通信时,能否实现进程间的对象传送呢?答案是可以的。如何做到呢?这就需要Java序列化与反序列化了。换句话说,一方面,发送方需要把这个Java对象转换为字节序列,然后在网络上传送;另一方面,接收方需要从字节序列中恢复出Java对象。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作