当前位置: 首页 > news >正文

JAVA序列化知识小结

概述

        先问自己两个问题,什么是序列化?为什么要进行序列化?

       1. 序列化就是将数据结构或对象转换成可以存储或传输的形式,通常是二进制字节流,也可以是 JSON, XML 等文本格式。

        2. 序列化的核心目的是解决对象的存储和传输问题,使得对象可以脱离内存环境而存在或传递。

  • 内存中的对象在程序退出后会消失,通过序列化可以将对象保存到文件、数据库等存储介质中,下次程序启动时再通过反序列化恢复,实现对象的持久化存储。
  • 网络只能传输字节流等原始数据格式,无法直接传输内存中的对象。序列化可以将对象转换为字节流,通过网络发送到远程节点,接收方再通过反序列化还原为对象。(内存中的对象虽然最终以二进制形式存在(计算机底层所有数据都是字节),但它的二进制形式与 “可传输 / 可存储的字节流” 有本质区别,不能直接等同于序列化后的字节流。)

  • 不同编程语言或系统对内存对象的表示方式不同,通过统一的序列化格式(如 JSON、Protocol Buffers),可以实现不同环境间的数据交换。

知识点小结

1. serialVersionUID 有什么作用?

在 Java 序列化机制中,serialVersionUID 是一个静态常量,用于标识序列化类的版本,主要作用是验证序列化对象与反序列化时的类是否兼容

2. 哪些字段会被序列化

        3. serialVersionUID 不是被 static 变量修饰了吗?为什么还会被“序列化”?

http://www.lryc.cn/news/595575.html

相关文章:

  • 我国《数字中国规划》对虚拟产权的监管:合规框架下的渐进式创新
  • stream event
  • 前端,demo操作,增删改查,to do list小项目
  • C++ 分配内存释放内存
  • Anaconda 路径精简后暴露 python 及工具到环境变量的配置记录 [二]
  • 【C#】C# 事件 两次 -= 会怎么样?
  • C# 结构体
  • C# 转换(is和as运算符)
  • XSS学习总结
  • Unreal ARPG笔记
  • 《画布角色的双重灵魂:解析Canvas小游戏中动画与碰撞的共生逻辑》
  • Spring Boot注解详解
  • 影刀 RPA:批量修改 Word 文档格式,高效便捷省时省力
  • 通俗易懂卷积神经网络(CNN)指南
  • 海康威视视觉算法岗位30问及详解
  • 多片RFSoC同步,64T 64R
  • STM32小实验四--按键控制LED灯
  • Neo4j 5.x版本的导出与导入数据库
  • 车载软件架构 --- 软件开发面临的问题
  • DAY17 常见聚类算法
  • Spring AI 集成阿里云百炼与 RAG 知识库,实现专属智能助手(框架思路)
  • SpringSecurity 详细介绍(认证和授权)
  • 广东省省考备考(第五十二天7.21)——数量、判断推理(听课后强化训练)
  • 【qml-3】qml与c++交互第二次尝试(类型方式)
  • Android MTK平台预置多张静态壁纸
  • LinkedList与链表(单向)(Java实现)
  • 跨端分栏布局:从手机到Pad的优雅切换
  • 遗像照片尺寸要求及手机制作打印方法
  • DIDCTF-2021第三届长安杯(检材一)
  • LeetCode 每日一题 2025/7/14-2025/7/20