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

JAVA序列化知识小结

概述

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

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

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

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

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

知识点小结

1. serialVersionUID 有什么作用?

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

2. 哪些字段会被序列化

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

http://www.dtcms.com/a/291284.html

相关文章:

  • mac终端设置代理
  • 拟合算法(1)
  • socket编程(UDP)
  • QGIS、ArcMap、ArcGIS Pro中的书签功能、场景裁剪
  • 本地部署Dify、Docker重装
  • 时序论文43 | WPMixer:融合小波分解的多分辨率长序列预测模型
  • Nginx配置proxy protocol代理获取真实ip
  • ubuntu远程桌面不好使
  • 修复echarts由4.x升级5.x出现地图报错echarts/map/js/china.js未找到
  • 卷积神经网络基本概念
  • 深度学习之参数初始化和损失函数(四)
  • 深入解析MIPI C-PHY (二)C-PHY三线魔术:如何用6种“符号舞步”榨干每一滴带宽?
  • 设计模式六:工厂模式(Factory Pattern)
  • C语言:20250721笔记
  • 在 Conda 中删除环境及所有安装的库
  • 《使用 IDEA 部署 Docker 应用指南》
  • Linux-rpm和yum
  • Shell脚本编程:从入门到精通的实战指南
  • 从零开始:用Python库轻松搭建智能AI代理
  • Djoser 详解
  • 深度学习中的数据增强:从理论到实践
  • hot100回归复习(算法总结1-38)
  • 力扣面试150(35/150)
  • 【安全篇 / 反病毒】(7.6) ❀ 01. 查杀HTTPS加密网站病毒 ❀ FortiGate 防火墙
  • Excel函数 —— XLOOKUP 双向查找
  • Linux find命令:强大的文件搜索工具
  • 计算机发展史:电子管时代的辉煌与局限
  • 无人机浆叶安装顺序
  • 【算法基础】二分查找
  • 源码编译安装boost库,以及卸载boost库