浅谈对象中的成员序列化问题

       Java对象序列化时参与序列化的内容包含以下几个方面。

        第一、属性,包括基本数据类型、数组以及其他对象的应用。

        第二、类名。

        不能被序列化的内容有以下几个方面。

        第一、方法。

        第二、有static修饰的属性。

        第三、有transient修饰的属性。

        在序列化过程中不仅保留当前类对象的数据,而且递归保存对象引用的每个对象的数据。将整个对象层次写入字节流中,这也就是序列化对象的“深复制”,即复制对象本身及引用的对象本身。序列化一个对象将可能得到整个对象序列。

        在序列化过程中,由于有些属性值比较敏感(例如密码),或者有些属性值的信息量比较大,它们不需要在网络中传递或在磁盘中存储,即不需要参与序列化。对于此类属性只需要在定义时为其添加transient关键字即可,对于transien属性序列化机制会跳过而不会将其写入文件,但在读取时也不可被恢复,该属性值保持默认初始化值。

        我简单的写了个代码,如下:

        第一、定义序列化类型Picture

       

public class Picture implements Serializable {

	private static final long serialVersionUID = 1L;

	private String name;
	private String category;
	private transient String url;
	
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值