WritableComparable接口中序列化与反序列化的一点思考

2023-05-16

在上一篇的实践案例中我们在自定义JavaBean的时候,通过实现WritableComparable接口,并重写其方法来实现序列化与反序列化。在重写readFields()时,我们之前写的案例都是对象的属性类型不同,所以在反序列化时直接调用dataInput.readUTF()和dataInput.readDouble()分别赋给string类型和Double类型的属性。这里会产生一个疑问,在反序列化时没有指定将哪个值反序列化之后赋给JavaBean中的某个属性,该案例中属性类型不同,我们姑且认为是通过数据类型来区分之后,反序列化之后也会根据类型赋给JavaBean,但是如果是JavaBean中有多个相同类型的属性呢,这时候如果还没有指定将哪个值反序列化后赋给某个属性,那这是如何确保它反序列化之后的值是正确对应我们的JavaBean属性的呢。

通过查阅文章了解到,无论JavaBean中的属性是什么类型,都要确保序列化与反序列化的顺序是一致的,也就是说你在write()中是对属性按照怎样的顺序实现序列化写入数据的,那么你就要按照同样的属性顺序在readFields()中实现反序列化,否则读写过程中的序列化与反序列化就是混乱的,也就会导致序列化前后的值并不是正确的值。 所以,在实现序列化与反序列化时一定要确保顺序一致

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WritableComparable接口中序列化与反序列化的一点思考 的相关文章

  • my cloud test bed (by quqi99)

    作者 张华 发表于 2023 03 10 版权声明 可以任意转载 转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 问题 有一台NUC minipc 配置是 CPU i7 13700H 16核20线程 内存 16G 32G 4
  • try chatgpt api (by quqi99)

    作者 xff1a 张华 发表于 xff1a 2023 03 23 版权声明 xff1a 可以任意转载 xff0c 转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 chatgpt web 试了网上的一个chatgpt web
  • ubuntu操音量调整命令amixer

    1 解除静音 sudo amixer set 39 Master 39 unmute sudo amixer set 39 Headphone 39 unmute sudo amixer set 39 Front 39 unmute 实际为
  • IAR软件应用中的错误提示

    1 Q xff1a Error e16 Segment XDATA Z size 0x19a1 align 0 is too long for segment definition At least 0xe4c more bytes nee
  • 软件工程—结构化分析设计

    进行完需求分析 xff0c 下一步该进行系统结构分析和设计了 现在主流的设计理念为结构化开发和面向对象开发 xff0c 本次主要讲解结构化开发 结构化开发分为结构化分析和设计两个阶段 结构化分析是面向数据流的分析方法 xff0c 基本思想是
  • 项目流标了怎么办?

    公开招标的项目如果出现流标现象 xff0c 是不能直接采取议标的方式 xff0c 或者直接采取竞争性谈判 单一来源采购 询价等非招标方式 xff0c 而应当组织二次招投标 xff0c 如果二次招标后仍然流标的 xff0c 可以核准后不再招标
  • xubuntu 14.04 LTS安装拼音输入法

    一 xff0c 安装fcitx sudo apt get install fcitx table wbpy 是不是很好记的样子 xff0c wb五笔py拼音 二 xff0c 配置fcitx desktop gnome language se
  • 整理库函数依赖关系

    问题 xff1a 现有一函数库 xff0c 这里是lapack3 5 lapack提供的每一个函数API都单独是一个 c 请给出这些API的相互调用关系 间接调用也要统计 xff0c 循环调用 xff08 如果可能的话 xff09 不计 进
  • 手把手教你写出正确的二分搜索!

    写出正确的二分搜索知易行难 xff0c 原理好像都懂 xff0c 但是实际上手就出各种错误 xff0c 例如如何确定循环终止条件 区间搜小判断条件等 这里就手把手教你写出正确的二分检索 xff01 二分法共有下面7种变式 是否存在数字t 返
  • SphereFace: Deep Hypersphere Embedding for Face Recognition

    Weiyang Liu 1 Yandong Wen 2 Zhiding Yu 2 Ming Li 3 Bhiksha Raj 2 Le Song 1 1 Georgia Institute of Technology 2 Carnegie
  • 一文解答你关于“轨道问题”的所有疑问!(有环链表问题)

    问题描述 xff1a 给定一个链表 xff0c 返回链表开始入环的第一个节点 如果链表无环 xff0c 则返回 NULL 我看过很多博客 xff0c 对于最优解法的解释无非两个字 xff0c 神奇 xff0c 并没有说明如何构思出这样的思路
  • 从bt到dp的困惑

    每一个dp的背后都必然有一个bt bt的基础上加上记忆化搜索 xff0c 然后对问题的拆分由从上到下变成从下到上 xff0c 即可转化为dp 但绝不是所有的bt就天然的可以转化为dp 例如下面这个例子 leetCode 115题 xff0c
  • 教练,我想学二叉树遍历!

    二叉树具有前序 中序 后序三种遍历方式 递归的相信大家都会写 xff0c 但是迭代的该怎么写呢 xff1f 怎样的迭代写法才能具有统一性便于理解呢 xff1f 请看下面具体的做法 xff0c 每种遍历方式各有2种策略 xff0c 基于栈的和
  • TVM优化原理学习

    没有看论文 xff0c 看了b站陈天奇的视频 xff0c 还有一些博客的分析 xff0c 学习了优化原理 后续需要深入理解再看论文 TVM对于神经网络的优化主要有两部分 xff0c 计算图优化和算子优化 xff0c 下面分开说明 计算图优化
  • 一个GDB调试的workflow

    我们要调试的程序是 include lt stdio h gt int main int p 61 NULL printf 34 p n 34 p p 61 3 printf 34 d n 34 p return 0 可以看到第6行会访问非
  • 记录一个很奇怪的bug,待解决

    一个很简单的矩阵求幂模板类的程序 xff0c 但是在vector lt vector lt T gt gt temp n vector lt T gt n 这一句不能执行 xff0c 会卡死 下面是完整的代码和输出 方阵的幂运算 xff0c
  • 听说还有人不懂右值和std::move()?

    1 左值和右值 左值是可以出现在等号左边的符号 xff0c 当然它也可以出现在等号右边 xff0c 例如int a等等 右值是能且只能出现在等号右边的符号 xff0c 例如5 xff0c abc 等等 右值细分为将亡值和纯右值 xff0c
  • 一个leetcode题目的bug记录【待解决】

    1403题目 xff0c 非递增顺序的最小子序列 题目很简单 xff0c 利用贪心的策略 xff0c 对数组从大到小排序 xff0c 然后尽量从前面取最小的满足题目要求的子数组即可 我的bug出在对数组从大到小排序这里 xff0c 报错代码
  • 字符串匹配KMP算法学习笔记

    字符串匹配 xff0c leetcode28题 时间复杂度O MN 的算法大家都会 xff0c 题解里面官方账号给出的利用字符串哈希判等的O N 算法也很优秀 本篇的重点是KMP算法 网上能搜到的KMP算法例子非常多 xff0c 其原理可以

随机推荐

  • 对std::set使用lower_bound的效率问题

    1488题 xff0c 洪水泛滥 在查找可用晴天时 xff0c 如果使用 auto last sunny it 61 sunny lower bound last rain 就会超时 而如果使用auto last sunny it 61 l
  • 升级CentOS 7.4内核版本的三种方案

    在实验环境下 xff0c 已安装了最新的CentOS 7 4操作系统 xff0c 现在需要升级内核版本 实验环境 CentOS 7 x86 64 Minimal 1708 iso CentOS Linux release 7 4 1708
  • 一些题解的思考集合。

    我觉得比较好 xff0c 比较关键 xff0c 比较难想到的思考点 xff0c 还有一些小疑惑 xff0c 统一记录在此 378题 xff0c 为什么返回的left一定是矩阵中的元素 xff0c 个人思考 75题 xff0c three w
  • 引用类型推导规则,完美转发

    类型推导规则 规则1 xff08 引用折叠规则 xff09 xff1a 如果间接的创建一个引用的引用 xff0c 则这些引用就会 折叠 在所有情况下 xff08 除了一个例外 xff09 xff0c 引用折叠成一个普通的左值引用类型 一种特
  • WIN10+MX150+VS2013安装CUDA9.2

    记录一下在自己PC上安装cuda的过程 OS是win10 xff0c IDE为VS2013 xff0c 显卡为GeForce MX150 xff08 驱动版本24 21 13 9882 xff09 1 首先确认自己系统的显卡可用 打开设备管
  • 《A synchronization-free algorithm for parallel sparse triangular solves》读后总结

    正式读研之后看的第一篇文献 本着 只有记录下来的才是自己的 这一原则 xff0c 记录一下 论文提出的方法用来解决多元一次方程组中系数矩阵为下三角的情况 Lx 61 b中 xff0c L为下三角矩阵 如上图所示 xff0c 对应的方程组如下
  • 用了这些工具,让你的win10生产力爆表

    1 Listary 超级好用的的windows搜索工具 xff0c 搜索速度快 xff0c 并且具有体积小 xff0c 免费 解压即用等优点的绿色软件 xff0c 官网下载安装包即可 使用这个软件之后 xff0c 你再也不会点开我的电脑 x
  • 《Towards Efficient SpMV on Sunway Many-core Architectures 》读后笔记

    记待解问题为y 61 Ax xff0c 采用了CSR格式存储矩阵 核心思路 xff1a 多级数据并行 具体分为两方面 xff0c 待计算数据的划分和计算核的划分 下面分3部分进行说明 1 xff09 对稀疏矩阵进行三级数据划分 xff0c
  • 《Bandwidth Reduced Parallel SpMV on the SW26010 Many-Core Platform》读后笔记

    核心思路 xff1a 1 xff09 通过轻工作量的预处理阶段 xff0c 把矩阵A纵向从上到下分割成一个个的row slice xff0c 划分后每个row slice中的非零元个数大致相同 每个row slice由一个CPE单独计算 2
  • 计算机领域依赖关系

    对计算机中领域大概分层了 xff0c 不完全对 xff0c 比如数字电路和数学的关系没那么强 体系结构中也是有算法设计的 xff0c 比如动态指令调度算法Tomasulo算法 xff0c 乘法算子的两位booth算法 xff0c 华莱士树
  • Mac终端使用代理

    介绍 网上的其他文章经常写的乱七八糟 xff0c 于是本人决定写一个靠谱的 准备工作 你需要知道你的代理http和sock5的端口分别是什么 例如我的就是http xff1a 7890 sock5 xff1a 7891 设置代理 打开终端
  • oh-my-zsh 国内安装及配置

    安装 zsh ubuntu 下 xff1a sudo apt get install zsh mac下 xff1a brew install zsh 后面的内容两个系统通用 安装 oh my zsh wget https gitee com
  • C/C++实现贪吃蛇游戏

    文章目录 前言一 游戏效果展示二 游戏说明三 游戏框架构建1 游戏界面的大小2 创建蛇2 1定义蛇的结构体2 2 初始化蛇2 3 画蛇 3 标记游戏区4 菜单栏的设置5 让蛇动起来5 1 蛇的移动5 2 表示方向5 3 控制方向5 4调整
  • Java爬虫

    为什么我们要爬取数据 在大数据时代 我们要获取更多数据 就要进行数据的挖掘 分析 筛选 比如当我们做一个项目的时候 需要大量真实的数据的时候 就需要去某些网站进行爬取 有些网站的数据爬取后保存到数据库还不能够直接使用 需要进行清洗 过滤后才
  • 谈谈撰写硕士毕业论文的感受

    首先 xff0c 论文研究的内容需要具有创新性 xff0c 其次是文章内容要能体现6个月的工作量 所以 xff0c 一篇毕业论文在撰写前需要做好充分的研究工作 论文撰写的过程以及思路 xff1a 1 首先要确定研究的方向 xff0c 选定一
  • HashMap的实现原理和底层结构

    哈希表 xff08 hash table xff09 也叫散列表 xff0c 是一种非常重要的数据结构 xff0c 应用场景及其丰富 xff0c 许多缓存技术 xff08 比如memcached xff09 的核心其实就是在内存中维护一张大
  • onos实现driver的自动加载

    AbstractDriverLoader 已知driverAdminServer 根据path读取配置文件的内容 1 进入到XMLDriverLoader里 xff0c 根据XML 创建Provider gt XMLDriverLoader
  • MapReduce案例之排序

    这次要实现的是对数码 出行 餐饮三项支出中的出行支出 xff08 第4列 xff09 进行排序 xff08 降序 xff09 数据准备 将数据上传至HDFS root 64 hadoop01 test data hdfs dfs mkdir
  • MapReduce之Map阶段的join操作案例

    在这个案例中我们要实现的是Map端的join xff0c 通常情况下我们会将小表放在分布式缓存中 xff0c 然后将大表通过正常的map阶段与小表进行join xff0c 得到一个join之后的结果 xff0c 这样map之后的结果就是我们
  • WritableComparable接口中序列化与反序列化的一点思考

    在上一篇的实践案例中我们在自定义JavaBean的时候 xff0c 通过实现WritableComparable接口 xff0c 并重写其方法来实现序列化与反序列化 在重写readFields 时 xff0c 我们之前写的案例都是对象的属性