对象序列化----transient关键字的作用
2008-10-19 19:55
253 查看
对象的序列化(Serialize)指将一个Java对象写入IO流中,与此对应的是,对象的反序列化(Deserialize)则指从IO流中恢复该Java对象。 jbbI g~/
为了让某个类是可序列化的,该类必须实现如下两个接口之一: t+j;Vvq
Serializable
Externalizable
对象序列化的目标是将对象保存到磁盘中,或允许在网络中直接传输对象,对象序列化机制允许把内存中的Java对象转换成与平台无关的二进制流,从而允许把这种二进制流持久保存在磁盘上,通过网络将这种二进制流传输到另一个网络节点。 x`>|?yS(
在一些特殊的场景下,如果某个类里包含的属性值是敏感信息,例如银行帐户信息、私人资料信息等等,这时候不希望系统将某些属性值进行序列化;或者某个属性的类是不可序列化的,因此不希望对该属性进行递归序列化,避免发生java.io.NotSerializableException异常。 K65 NK`
由于可序列化的对象可能会引发java.io.NotSerializableException异常。对于以上情况,我们可通过用transient关键字修饰,不希望序列化的属性而解决。通过在属性前面加上transient关键字,可以指定Java序列化时无需理会该属性值。如下Person类,其age属性使用了transient关键字修饰,那么该age属性就不会被序列化了。 J|`d2kQznC
public class Person implements java.io.Serializable [+r8tga
{ sQZP MN5D
private String name; [rf]cf^Z c
private transient int age; e[GbH78y{
public Person(String name , int age) tO2o>)k.
{ ^R0/, ck}
this.name = name; f}2=&ov
this.age = age; 7[xwS waCt
} <G z8NS
//省略setter和getter方法 !#ajdyk&b
} XJu}a+p$6e
为了让某个类是可序列化的,该类必须实现如下两个接口之一: t+j;Vvq
Serializable
Externalizable
对象序列化的目标是将对象保存到磁盘中,或允许在网络中直接传输对象,对象序列化机制允许把内存中的Java对象转换成与平台无关的二进制流,从而允许把这种二进制流持久保存在磁盘上,通过网络将这种二进制流传输到另一个网络节点。 x`>|?yS(
在一些特殊的场景下,如果某个类里包含的属性值是敏感信息,例如银行帐户信息、私人资料信息等等,这时候不希望系统将某些属性值进行序列化;或者某个属性的类是不可序列化的,因此不希望对该属性进行递归序列化,避免发生java.io.NotSerializableException异常。 K65 NK`
由于可序列化的对象可能会引发java.io.NotSerializableException异常。对于以上情况,我们可通过用transient关键字修饰,不希望序列化的属性而解决。通过在属性前面加上transient关键字,可以指定Java序列化时无需理会该属性值。如下Person类,其age属性使用了transient关键字修饰,那么该age属性就不会被序列化了。 J|`d2kQznC
public class Person implements java.io.Serializable [+r8tga
{ sQZP MN5D
private String name; [rf]cf^Z c
private transient int age; e[GbH78y{
public Person(String name , int age) tO2o>)k.
{ ^R0/, ck}
this.name = name; f}2=&ov
this.age = age; 7[xwS waCt
} <G z8NS
//省略setter和getter方法 !#ajdyk&b
} XJu}a+p$6e
相关文章推荐
- Java对象表示方式1:序列化、反序列化和transient关键字的作用
- Java中Transient关键字在对象序列化中的作用
- Java对象表示方式1:序列化、反序列化和transient关键字的作用
- Java对象表示方法1:序列化、反序列化和transient关键字的作用
- Java对象表示方式1:序列化、反序列化和transient关键字的作用
- Transient关键字在Java对象序列化中的作用
- Transient关键字在Java对象序列化中的作用
- Java对象表示方式1:序列化、反序列化和transient关键字的作用
- Java对象表示方式1:序列化、反序列化和transient关键字的作用
- Java 对象序列化 Serializable接口 和 transient关键字
- 序列化、反序列化和transient关键字的作用
- java基础之 对象序列化、transient关键字、StringTokenizer
- transient关键字与对象的属性不被序列化
- Java 对象序列化和transient 作用
- java transient(不会序列化)、static关键字的作用
- java序列化中的transient关键字的作用
- C#[Serializable]在C#中的作用-NET 中的对象序列化
- [Serializable]在C#中的作用-NET 中的对象序列化
- transient 关键字 和 利用serializable 持久化对象至硬盘
- (转)Serializable在C#中的作用.NET 中的对象序列化