您的位置:首页 > 其它

【慕课笔记】6-2 transient及ArrayList源码分析

2016-03-17 17:53 232 查看
6-2 transient及ArrayList源码分析

transient关键字:

如果第一节Student类中的stuage的声明 private int stuage改成private transient int stuage

则该元素不会进行jvm默认的序列化,且不代表不能进行序列化,可以自己完成这个元素的序列化

执行的结果 stuage=0

ArrayList是把数组的有效元素序列化,无效元素则无需序列化。

private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{
s.defaultWriteObject();//把jvm能默认序列化的元素进行序列化操作
s.writeInt(stuage);//自己完成stuage的序列化
}

private void readObject(java.io.ObjectInputStream s) throws java.io.IOException,ClassNotFoundException{
s.defaultReadObject();//把jvm能默认反序列化的元素进行反序列化操作
this.stuage=s.readInt();//自己完成stuage的反序列化操作
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: