day24 java IO流 对象流 序列化与反序列化

对象流:ObjectInputStream 和 ObjectOutputStream
可以把内存中的数据(基本数据类型数据,对象的处理流)持久化起来。需要的时候可以还原成内存层面的数据。序列化:用ObjectOutputStream类保存基本类型数据或对象的机制,将内存中的对象写到磁盘中
反序列化:用ObjectInputStream类读取基本类型数据或对象的机制,将磁盘中对象恢复到内存中ObjectInputStream
反序列化时的错误:stream classdesc serialVersionUID = -1159203326177187056,local class serialVersionUID = 4819562835854727119
发生错误的原因 :将对象序列化后存储的SUID值和反序列化后类中的SUID的值不匹配。
如何解决此问题:1.SUID是如何变的 如何不让SUID的值发生变化?当自定义的类实现Serializable后会有默认SUID值这个值不会发生改变除非类发生改变。那么我们可以通过显示声明SUID的方式让SUID不变(本质上序列化对象所属性的类 在对象序列化后不要修改)。2.如何在反序列化时保证不失败(不发生上面的错误)?序列化时的SUID和反序列化时的SUID要保持一致

注意:如果对象要序列化那么对象所属性的类及类中的属性都必须实现Serializable接口。基本数据类型除外。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【YOLOv8改进[注意力]】YOLOv8添加DAT(Vision Transformer with Deformable Attention)助力涨点

目录 一 DAT 二 YOLOv8添加DAT助力涨点 1 总体修改 2 配置文件 3 训练 其他 一 DAT 官方论文地址:https://openaccess.thecvf.com/content/CVPR2022/papers/Xia_Vision_Transformer_With_Deformable_Attention_CVPR_2022_paper.pdf Transformers最近在各种视…

python5种算法模拟螺旋、分层填充、递归、迭代、分治实现螺旋矩阵ll【力扣题59】

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 python数据分析…

轻松搭建llama3Web 交互界面 - Ollama + Open WebUI

Ubuntu下安装:(官网:Download Ollama on Linux) curl -fsSL https://ollama.com/install.sh | sh 就运行起来ollama了,不放心可以用ollama serve查看一下 ollama run llama3 就可以跑起来了, 那么我们肯…

信息物理系统技术概述_1.概念和实现

1.信息物理系统的概念 1.1信息物理系统的来源 信息物理系统(Cyber-Physical Systems,CPS)这一术语,最早由美国国家航天局于1992年提出,到2006年,美国国家科学基金会科学家海伦 •吉尔在国际上第一个关于信…

端口转发与端口映射区别

端口映射和端口转发是两种不同的网络技术,用于实现服务器或设备之间的通信。 端口映射是将一台设备(通常是路由器或防火墙)的公共IP地址和端口映射到内部网络中的另一台设备的特定IP地址和端口上。当外部网络上的请求到达公共IP地址和端口时…

【SAP ME 12】SAP NWDS(eclipse)下载、安装,配置

1、下载 1.1、描述 1.2、下载 2、安装 3、配置 3.1、域名映射

windows10环境下conda迁移到linux环境

网上给出的方案错误百出,记录一下正确方案。 1 创建yaml文件 创建到终端所在路径下 conda activate 环境名 conda env export --no-build >环境名.yaml2 新操作系统中创建新的conda环境 conda env create -f 环境名.yaml3 删除不兼容的包 终端报错 Could n…

CUDA编程【2】-(51-78)

系列文章目录 文章目录 系列文章目录前言51、寄存器溢出51.1 溢出概念51.1 使用控制 52、本地内存和共享内存52.1 本地内存52.2. 共享内存 53. 常量内存53.1 概念53.2 初始化 54. 全局内存54.1 概念54.2 初始化 55. GPU缓存和变量作用域55.1 缓存类型55.2 变量作用域 56. 静态全…

我的一些 35+ 前同事的现状

大家好,我是坤哥,好久不见,今天简单和大家聊一下我目前观察到的前同事的现状 今年和一些前同事简单聊过,他们的现状如下: A: 去新西兰做 iOS 开发快 10 年了,马上就要拿到永久居留证了,他说在新…

(六)小案例银行家应用程序-删除账号-findindex方法

findindex方法和find方法非常类似,只不过findindex顾名思义,他返回的是index; ● 下面我们使用删除账号的功能来学习一下findindex的 ● 当用户登录成功之后,可以在下方输入自己的用户名和密码,然后提交&#xff0c…

Unity 中(提示框Tweet)

using UnityEngine; using UnityEngine.UI; using DG.Tweening; using System; public class Message : MonoBehaviour {public float dropDuration 0.5f; // 掉落持续时间public float persisterDuration 1f; // 持续显示时间public float dorpHeight;public static Message…

Redis入门到通关之Redis数据结构-String篇

文章目录 欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客 关于博主: 我是 请回答1024,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后端开发者。 博客特色: 在我的…

HarmonyOS ArkUI实战开发-NAPI 加载原理(下)

上一节笔者给大家讲解了 JS 引擎解释执行到 import 语句的加载流程,总结起来就是利用 dlopen() 方法的加载特性向 NativeModuleManager 内部的链接尾部添加一个 NativeModule,没有阅读过上节文章的小伙伴,笔者强烈建议阅读一下,本…

如何定义带参数的EventHandler?

简述 事件调用的所有方法都需要两个参数:object sender,EventArgs e。该事件使用这两个参数调用方法,因此我们不能直接添加自定义参数。 比如下面这段代码,我们想在 MessageBox 中显示字符串 s ,这必然是不成。 priv…

初识《list》及手搓模拟《list》

目录 前言: 1. list的介绍及使用 list的介绍: list的使用: 1、list的构造​编辑 2、list iterator的使用 3、list capacity 4、list element access 5、list modifiers 2.list的模拟实现 1、关于迭代器: 2、迭代器类的…

ScriptableObject数据容器讲解

概述 是Unity提供的一个用于创建可重用的数据容器或逻辑的基类。 ScriptableObject 是继承自 UnityEngine.Object 的一个类,但与普通的 MonoBehaviour 不同,它不能附加到GameObject上作为组件。 相反,ScriptableObject 通常用于存储和管理…

操作系统的作用

操作系统的作用 硬件资源管理 进程管理:操作系统负责创建、调度、同步、通信和销毁进程,即管理多个程序的并发执行。通过进程调度算法,它决定哪个进程在何时获得处理器执行时间,实现多任务处理和资源共享,确保系统响应性和公平性。…

ThingsBoard实战教程(七):模拟设备遥测

tb做为一个多租户的物联网平台,文档也很齐全。后端使用的是java语言编写的,可以用swagger来导出文档。tb的所有服务都可以通过接口来看到。接口主要分为两部分,一部分是设备API,另一部分是用于服务端API。 在我们启动tb之后,可以通过http://ip +port/swagger-ui.html 来…

linux,从零安装nginx,并且部署vue应用程序

前言:系统使用龙蜥(8.5)的最小化安装,服务器安装这里不在赘述。 nginx 的版本:1.22.0 软件已经放在系统/home/software/ 一、安装nginx 进入路径/home/software/ 1》执行命令:rpm -ivh nginx-1.22.0-1.el7…

uboot大致流程总结

文章目录 一、uboot介绍二、uboot的配置编译过程2.1 make xxx_defconfig2.2 make 一、uboot介绍 uboot是一个bootloader,用于在嵌入式设备中引导linux内核启动,在嵌入式设备中常见的组织结构如下: 芯片内部固化代码 -> bootloader -> …