虽然name被transient修饰,但是通过我们写的这两个方法依然能够使得name字段正确被序列化和反序列化

writeObject和readObject原理

writeObject和readObject是两个私有的方法,他们是什么时候被调用的呢?从运行结果来看,它确实被调用。而且他们并不存在于Java.lang.Object,也没有在Serializable中去声明。

我们唯一的猜想应该还是和ObjectInputStream和ObjectOutputStream有关系,所以基于这个入口去看看在哪个地方有调用

从源码层面来分析可以看到,readObject是通过反射来调用的。

其实我们可以在很多地方看到readObject和writeObject的使用,比如HashMap。

序列化的高阶认识-绕开 transient 机制的办法相关推荐

  1. 序列化的高阶认识-Transient 关键字

    Transient 关键字的作用是控制变量的序列化,在变量声明前加上该关键字,可以阻止该变量被序列化到文件中,在被反序列化后,transient 变量的值被设为初始值,如 int 型的是 0,对象型的 ...

  2. 序列化的高阶认识-serialVersionUID的作用

    在IDEA中通过如下设置可以生成serializeid 字面意思上是序列化的版本号,凡是实现Serializable接口的类都有一个表示序列化版本标识符的静态变量 演示步骤 1. 先将user对象序列 ...

  3. 序列化的高阶认识-简单认识一下 Java 原生序列化

    前面的代码中演示了,如何通过JDK提供了Java对象的序列化方式实现对象序列化传输,主要通过输出流java.io.ObjectOutputStream和对象输入流java.io.ObjectInput ...

  4. 深浅拷贝垃圾回收机制四大高阶函数

    目录: 浅拷贝和深拷贝 垃圾回收机制 高阶函数 浅拷贝和深拷贝 浅拷贝: 不管多么复杂的数据结构,浅拷贝都只会copy一层 深拷贝 : 深拷贝会完全复制原变量相关的所有数据,在内存中生成一套完全一样的 ...

  5. 25 Refs转发机制与在高阶组件中的使用

    将子节点的ref暴露给父节点 16.3以上 Refs转发,将ref自动通过组件传递给子组件 1. 在父组件创建ref对象 2. 给子组件赋值ref 3. 通过React.forward向子组件转发re ...

  6. Java基础学习笔记(三)_Java核心技术(高阶)

    本篇文章的学习资源来自Java学习视频教程:Java核心技术(高阶)_华东师范大学_中国大学MOOC(慕课) 本篇文章的学习笔记即是对Java核心技术课程的总结,也是对自己学习的总结 文章目录 Jav ...

  7. Nginx --高阶

    Nginx -- 高阶 Nginx高级 第一部分:扩容 1.单机垂直扩容:硬件资源增加 2.水平扩展:集群化 会话管理 Nginx高级负载均衡 使用sticky模块完成对Nginx的负载均衡 1.下载 ...

  8. Tensorflow高阶内容(五)- Deep Learning

    高阶内容 5.1 Classification分类学习 5.2 什么是过拟合(Overfitting) 5.3 Dropout 解决 Overfitting 5.4 什么是卷积神经网络CNN(Conv ...

  9. MindSpore 高阶优化器

    MindSpore 高阶优化器 MindSpore自研优化器THOR(Trace-based Hardware-driven layer-ORiented Natural Gradient Desce ...

最新文章

  1. 【MATLAB】矩阵信息的获取
  2. 下面首先来看GCD的使用
  3. MYSQL之SQL语句练习及思路_1
  4. SpringSecurity鉴权流程分析 附源码注释,xdm,一起来看看吧
  5. 2-10日偶听某箴言
  6. python面向对象设计管理系统_python面向对象之单例设计模型
  7. python每天定时9点执行_python每天定时运行某程序代码
  8. 算法高级(10)-如何实现浏览器的前进、后退功能
  9. postman如何改成中文版_在 Windows 上如何用 Postman 重现 Dubbo 反序列化漏洞
  10. 关于无序分类变量量化的处理思考
  11. Zotero——论文管理神器
  12. 前端使用Aliplayer 播放器 播放rtmp直播流
  13. Unity3d trial version 水印
  14. 超详细的四类数据库去重实现方案汇总(转载)
  15. 七牛云持久化上传图片及生成缩略图,多文件打包下载
  16. E. Fruit Slicer--计算几何+两圆公切线
  17. 【读书笔记】文案创作完全手册
  18. vba更改计算机系统时间,如何设置系统日期,一行VBA编程代码教你学会
  19. ArchSummit讲师专访:EMC研究院资深研究员陶隽谈实时数据分析
  20. 百度地图自定义吹出框

热门文章

  1. 2018-10-19 Chrome插件实现GitHub代码离线翻译v0.0.4
  2. centos7搭建时间服务器
  3. css相关笔记(五)
  4. pmd代码安全扫描工具
  5. XML内部DTD约束 Day24
  6. SQL Server---触发
  7. xenserver PXE安装系统错误的解决
  8. Android的GridView和Gallery结合Demo
  9. 安装centos6.0 未找到任何驱动器
  10. 使用 header 头下载文件