serialized学习笔记「建议收藏」

2022-09-07 11:07:34 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。在网上看了一下java的serialized技术,具体就没怎么测试,只是小小总结了一下。 serialized主要用于一下情况: a)对对象进行读写操作时; b)使用套接字在网络上传输对象数据时; c)通过RMI传输对象时; 若要序列化对象,则只需implements Serializable接口即可。序列化动作可以在我们需要时进行,即使项目已经进入尾声。 我们在序列化对象时,需要主要java的序列化有几个特殊地方: 1.static变量不会被序列化。即使我们在反序列后能够获取到它的值,但请注意,这个值是static变量缓存在内存中。 2.transient修饰的变量意为临时变量也不会被序列化。 同时我们在implements Serializable后,会发现类中多了private static final long serialVersionUID 变量,请注意该变量有其自已的作用。在反序列化时,jvm会使用被反序列化文件中的serialVersionUID 与本地实体类中的serialVersionUID 进行对比,以判断两者是否是同一个版本,如果是,则正常反序列化,否则jvm会提示版本不一致异常。如果实体类中没有该serialVersionUID ,则jvm则会在每次编译时自动为其生成一个serialVersionUID 。个人建议保存其serialVersionUID ;

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148047.html原文链接:https://javaforall.cn

0 人点赞