黑马程序员——【Java】IO——对象序列化

来源:互联网 发布:新疆教师网络培训网 编辑:程序博客网 时间:2024/05/16 07:38

------- android培训、java培训、期待与您交流! ----------



ObjectInputStream   对象流。字节流。硬盘中读取对象。
ObjectOutputStream 对象流,可以将对象从堆内存存入硬盘(对象持久化或称之为对象序列化或称为对象的可串行性)。
此二类必须成对使用,一对一。

应用猜测:程序意外结束时触发,或者类似于windows睡眠,但未能想到具体如何实现。伟大的蓝屏
     用来恢复异常状态
     固定的特殊初始化
疑问:数组、向量,是否可以正常写入,读取?

  • 萌动:是否有一个完整的框架来更方便的使用这种特性,阉割数据库操作,序列化信息,进而可以不依托于数据库独立运行。
    • 方便项目的测试、演示。
    • 一些分享出来的项目更容易配置,乃至不用配置。

  • 需要实现Serializable(标记接口)(long值)【根据类中成员计算出(serialVersionUID ),用以标识一个类,类有不同,其必然不同】
    • 序列号提供给编译器使用
  • public static final long serialVersionUID = 42l;标志,固定ID号
    • 若设定为固定值,则存储到硬盘中的对象还以被创建为被改变的类的对象。
  • 不能序列化(static)静态对象、数值,因为静态的东西在方法区里,序列化存储的是堆内存的数据。
  • 被transient修饰的对象、数值,保证其值在堆内存中存在,不在最终写入的文件中存储。

0 0
原创粉丝点击