温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ArrayList的序列化概念是什么

发布时间:2021-12-18 15:18:22 来源:亿速云 阅读:212 作者:iii 栏目:云计算

本篇内容介绍了“ArrayList的序列化概念是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

概念:

1)序列化一个对象时,被transient关键字修饰的变量(的值)不会被序列化。

ArrayList的序列化机制:
1)ArrayList实现了java.io.Serializable接口。
2)ArrayList中存放集合元素的Object数组被关键字transient修饰。代码:transient Object[] elementData;
3)ArrayList序列化集合元素的机制:
	ArrayList在序列化时会调用writeObject(ObjectOutputStream s)方法,将size和element写入ObjectOutputStream中;
	ArrayList在反序列化时调用readObject(java.io.ObjectInputStream s)方法,从ObjectInputStream中获取到size和element,再恢复到存储集合元素的Object数组中。

4)与直接序列化Object数组相比,这样的机制有什么优点呢?

	elementData是一个Object数组,它通常会预留一些容量,等容量不足时再进行扩容;有些空间(elementData[size] ~ elementData[elementData.length-1])实际上并没有存储元素(存的是null);
	ArrayList的序列化机制:只序列化实际存储的集合元素,而不是去实例化整个Object数组,从而节省空间和时间的消耗。

“ArrayList的序列化概念是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI