码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Effective Java学习笔记---------序列化


    优先选择Java序列化的替换方案(java现成库)

    1. ObjectInputStream 上的 readObject 方法反序列化方法存在很多问题

    非常谨慎地实现Serializable

    1. 实现 Serializable 接口的一个主要代价是,一旦类的实现被发布,它就会降低更改该类实现的灵活性。
    2. 实现 Serializable 接口的第二个代价是,增加了出现 bug 和安全漏洞的可能性
    3. 实现 Serializable 接口的第三个代价是,它增加了与发布类的新版本相关的测试负担。
    4. 实现 Serializable 接口并不是一个轻松的决定
    5. 为继承而设计的类(详见第 19 条)很少情况适合实现 Serializable 接口,接口也很少情况适合扩展它。
    6. 内部类不应该实现 Serializable

    考虑使用自定义的序列化形式

    1. 即使你认为默认的序列化形式是合适的,你通常也必须提供 readObject 方法来确保不变性和安全性。
    2. defaultWriteObject, readObject 做的第一件事是调用 defaultReadObject,即使 StringList 的所有字段都是 transient 的
    3. 无论选择哪种序列化形式,都要在编写的每个可序列化类中声明显式的序列版本 UID。
    4. 不要更改序列版本 UID,除非你想破坏与现有序列化所有实例的兼容性。

    保护性的编写 readObject 方法

    列化的时候,对于客户端不应该拥有的对象引用,如果那个字段包含了这样的对象引用,就必须做保护性拷贝,这是非常重要的。

    对于实例控制,枚举类型优于 readResolve

    1. 如果依赖 readResolve 进行实例控制,带有对象引用类型的所有实例字段都必须声明为 transient

    考虑用序列化代理代替序列化实例

  • 相关阅读:
    【计算机网络】3 数据包抓取与分析
    表达式求值——隐式类型转换与操作符属性
    Elasticsearch&JDK版本要求
    后端 学习 前端 Vue 框架基础知识
    后端常用的Linux命令大全
    java计算机毕业设计驾校管理系统源码+mysql数据库+系统+lw文档+部署
    使用OpenCV将图像转换为NV12格式并加载NV12数据
    【Linux】MAC帧协议 + ARP协议
    软件测试什么样的技术才能拿20K薪资?
    1-(3-磺酸基)丙基-1-甲基-2-吡咯烷酮三氟甲磺酸盐[C3SO3Hnmp]CF3SO3
  • 原文地址:https://blog.csdn.net/jsq916/article/details/126705494
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号