什么是JAVA系列化?
作者:广州电脑培训刘发布时间:2020-09-21分类:深圳电脑学校浏览:728
大多数商业项目使用数据库或内存映射文件或仅使用普通文件来满足持久性要求。 只有少数项目依赖Java中的序列化过程。 无论如何,本文都不是Java序列化教程,也不是如何在Java中序列化对象,而是采访有关序列化机制和序列化API的问题。对于不熟悉Java序列化的人,Java序列化是用于通过将对象的状态存储在扩展名为.ser的文件中来序列化Java中的对象的过程,并且可以通过此文件状态还原和重建Java对象。 ,此反向过程称为反序列化。
那么什么是Java序列化?序列化是将对象更改为二进制格式的过程,该二进制格式可以通过网络保存到磁盘或发送给其他正在运行的Java虚拟机,并且可以通过反序列化来恢复对象的状态。 Java序列化API通过java.io.Serializable和java.io.Externalizable接口为开发人员提供了标准的机制,ObjectInputStream和ObjectOutputStream处理对象序列化。 Java程序员可以根据类结构或其自定义二进制格式自由选择标准序列化,通常将后者视为后者。这是最佳做法,因为序列化的二进制文件格式已成为类输出API的一部分,这可能会破坏封装 Java中私有和包可见的属性的集合。
我们又该怎么去序列化?让Java 中的类可以序列化很简单. 你的 Java 类只需要实现 java.io.Serializable 接口, JVM 就会把 Object 对象按默认格式序列化. 让一个类是可序列化的需要有意为之. 类可序列会可能为是一个长期代价, 可能会因此而限制你修改或改变其实现. 当你通过实现添加接口来更改类的结构时, 添加或删除任何字段可能会破坏默认序列化, 这可以通过自定义二进制格式使不兼容的可能性最小化, 但仍需要大量的努力来确保向后兼容性。序列化如何限制你更改类的能力的一个示例是 SerialVersionUID。
如果不显式声明 SerialVersionUID, 则 JVM 会根据类结构生成其结构, 该结构依赖于类实现接口和可能更改的其他几个因素。假设你新版本的类文件实现的另一个接口, JVM 将生成一个不同的 SerialVersionUID 的, 当你尝试加载旧版本的程序序列化的旧对象时, 你将获得无效类异常 InvalidClassException。
- 上一篇:如何去学GO语言?
- 下一篇:Java软件工程师应具备哪些职业能力?
- 深圳电脑学校排行
- 最近发表
-
- 东莞信息:樟木头镇开展春节后人力资源市场专项治理行动|||广州计算机编程培训
- 东莞信息:虎门新春职达虎门!首场大型现场招聘会火热开启|||计算机培训学校招生
- 东莞信息:茶山茶山人社分局组织企业参加横州市春风行动专场招聘活动|||广州学电脑培训学校
- 东莞信息:万江万江人社分局为企业员工提供点对点返岗专车接送服务|||北大青鸟计算机培训中心
- 东莞信息:2025年东城春风行动暨南粤春暖招聘活动火热开启|||计算机职业技能培训班
- 东莞信息:万江人社分局开展外出招聘对接系列活动|||计算机网络培训学校
- 东莞信息:常平常平人社分局组织企业赴韶关开展2025年春风行动暨南粤春暖招聘活动|||电脑计算机编程培训学校
- 江门信息:广东省第四届职业技能大赛报名工作|||广州计算机软件培训
- 东莞信息:万江万江人社分局组织企业赴湛江市开展百校千企万岗校园回访招聘活动|||计算机培训学校招生
- 东莞信息:石碣镇高层次人才赋能交流活动暨大湾区职场导师经验分享会|||计算机网络培训学校
- 标签列表
-