博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java对象序列化
阅读量:5937 次
发布时间:2019-06-19

本文共 753 字,大约阅读时间需要 2 分钟。

hot3.png

序列化的作用 是把java对象转化为二进制的字节流。从而便于java对象的存储和在网络上进行点到点间的传递。。。。

常用于分布式系统中。。。

编码模式化,主要变更在于不同情景下对输入输出流的选择。

  • 对象实现Serializable接口。
  • 序列化:
    ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream("user.s")); out.writeObject(new User()); out.close();
  • 反序列化:      

        ObjectInputStream oin = new ObjectInputStream(new FileInputStream( "user.s")); User user = (User)         oin.readObject(); oin.close();

注意事项:

  1.     serialVersionUID 变量 是用来唯一标识序列化对象的。(比较时注意)
  2.     序列化的受体是 对象;而非 类。所以 static变量不会被序列化。
  3.     对声明为 Transient 的变量 不做序列化。

  4.     子类可序列化,父类不可序列化情况下,由父类中继承来的变量 不做序列化。

  5.     将序列化的对象中如果含有 未实现Serializable接口的对象 ,序列化时会 出错。
  6.     序列化多个对象的时候,注意文件不要重名。
  7.     对传输或存储过程中需要特殊处理的 可以 通过重写 writeObject 、readObject来实现。。。
  8.     安全隐患:对于序列化后的对象不再具有安全保护域 如 private变量。。。  
  9.     包含线程的对象 不可序列化。。。。
           

转载于:https://my.oschina.net/297014031/blog/15870

你可能感兴趣的文章
数据结构学习笔记
查看>>
排序算法2——冒泡排序,快速排序
查看>>
C# 实现多线程的同步方法详解
查看>>
Python基础知识学习_Day2
查看>>
杂文->一个编程竞技游戏的设想
查看>>
Anaconda died after receiving signal 7
查看>>
解决虚拟机linux端mysql数据库无法远程访问
查看>>
JavaScript学习
查看>>
bzoj1269&&1507
查看>>
软件工程之构建之法
查看>>
计算机行业四个等式
查看>>
leetcode-665-Non-decreasing Array
查看>>
MYSQL 数据库导入 SQL 文件出现乱码的问题
查看>>
****** 九 ******、软设笔记【操作系统】-处理机管理(一)-死锁
查看>>
静态导入,断言
查看>>
scrollView + tableview 上下滑动失效
查看>>
UVa 10902
查看>>
Mathf.Sin正弦
查看>>
图片文字滚动插件jQuery Scrollbox
查看>>
POJ-3041 行列匹配构图+最小顶点覆盖
查看>>