`

java的重写序列化

 
阅读更多

       这几天在看java序列化的一些东西,资料上说写了在序列化类(比如LinkedList,ArrayList,HashMap等容器类)里面加上wirteObject(ObjectOutputStream stream),readObject(ObjectInputStream stream),序列化和反序列化的时候会分别调用上面两个方法,而不走默认的序列化流程。但是一直想不通在什么时候调?为什么加了这两个方法就 能够重写了序列化的逻辑?说起来,Serializable不过是一个标记接口,和这有什么关系吗?

      在thinking in java 里面写道 ,当用Object流在写入或者是写出这个对象的时候,回去查询该对象是否序列化对象,在序列化对象的基础上还会去查询该对象是否实现了wirteObject(ObjectOutputStream stream),readObject(ObjectInputStream stream)方法,如果实现了该方法,Object流中writeObject和readObject会调用该类的相应的方法,而不执行默认的序列化方法。

 

分享到:
评论

相关推荐

    java 序列化和重写 hashCode 的原因

    java 序列化和重写 hashCode 以及 equals 方法的例子

    Java反序列化入门之URLDNS链1

    1、 java.util.HashMap 重写了 readObject 方法: 2、 java.net.URL 对象的 hashCode 在计算时会调用 get

    简易之手写序列化和反序列化框架

    java 和file 、javaXML 都可以通过重写私有readObject和writeObject进行破坏translate修饰 其他框架默认不会,例如XStram、FastJson、Protobuf等默认不会序列化translate修饰的 4、手写serialize框架 a、设计...

    快速序列化/反序列化:这些函数可以将大多数 MATLAB 数据结构序列化为字节向量,反之亦然。-matlab开发

    已知限制: * Java 对象不能被序列化* 超过 255 个维度的数组的最后一个维度被限制* 嵌套/作用域函数的句柄只能在其父函数时反序列化支持 BCILAB 参数报告协议(例如,通过使用 arg_define)。 * 新的 MATLAB 对象...

    java面试题进阶版附答案.docx

    六、序列化和反序列化:解释了Java中序列化和反序列化的概念,以及通过实现Serializable接口进行对象的序列化和反序列化的过程。 七、内部类和匿名类:介绍了Java中的内部类和匿名类的概念,包括不同类型的内部类...

    Java面试题超级全.zip

    整理了很久很久Java面试题,很全面,从java基础、框架、数据库、分布式、微服务等等都有。 我总结成四个阶段的面试题了,详细可以看资源。 以下是资源中的部分...在 java 中能够被序列化的类必须先实现 Serializable

    JAVA基础课程讲义

    JAVA对象的序列化和反序列化 161 为什么需要序列化和反序列化 161 对象的序列化主要有两种用途 161 序列化涉及的类和接口 162 序列化/反序列化的步骤和实例 162 综合的序列化和反序列化练习 163 JAVA.IO包相关流对象...

    Java实例高难度面试题及解析 - 展现你的编程实力!

    此外,我们还探讨了对象的哈希码、重写equals()和hashCode()方法的技巧,以及对象的序列化和反序列化。 通过研究和解答这些高难度问题,您将提升自己的编程水平,展现出对Java实例概念和相关技术的深入理解。无论您...

    Java基础知识点总结.docx

    对象的序列化 310 Java两种线程类:Thread和Runnable 315 Java锁小结 321 java.util.concurrent.locks包下常用的类 326 NIO(New IO) 327 volatile详解 337 Java 8新特性 347 Java 性能优化 362

    详解java中的深拷贝和浅拷贝(clone()方法的重写、使用序列化实现真正的深拷贝)

    主要介绍了java中的深拷贝和浅拷贝(clone()方法的重写、使用序列化实现真正的深拷贝),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java2实用教程.rar

    10 10序列化与对象克隆 10 11文件锁FileLock 10 12Process类中的流 10 13带进度条的输入流 习题 第11章Java网络的基本知识 11 1使用URL 11 2读取URL中的资源 11 3显示URL资源中的HTML文件 11 4处理超链接 11 5...

    疯狂JAVA讲义

    9.6.1 Java国际化的思路 346 9.6.2 Java支持的语言和国家 346 9.6.3 完成程序国际化 347 9.6.4 使用MessageFormat处理包含占位符的字符串 349 9.6.5 使用类文件代替资源文件 350 9.6.6 使用NumberFormat格式化...

    Java经典编程源码基础例程300.zip

    实例057 序列化与对象克隆 84 实例058 深克隆效率的比较 87 第7章 面向对象进阶 89 实例059 经理与员工的差异 90 实例060 重写父类中的方法 92 实例061 计算几何图形的面积 93 实例062 简单的汽车销售商场 95 实例...

    JAVA 综合面试题.doc

    6. 什么是java序列化,如何实现java序列化?(写一个实例) ................................ 10 7. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?......... 10可以包含多个类。只允许有一个...

    java基础案例与开发详解案例源码全

    13.9.1 序列化和反序列化操作345 13.9.2 序列化的版本347 13.1 0随机存取文件流348 13.1 1ZIP文件流350 13.1 2本章练习352 第14章 14.1 抽象窗口工具集(AWT)354 14.1.1 AWT组件和容器354 14.1.2 布局管理器359 14.2 ...

    java 面试题 总结

    方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数...

    java笔试题算法-distributed-saga:分布式saga模式的实现由用于api、执行和序列化的单独java库组成

    中的,但是这个库非常小,可以在几分钟内重写以适应任何依赖需求。 在构建和测试阶段使用的任何其他依赖项正是用于构建和测试,库本身不会有任何传递依赖项,除了一个 saga-serialization 库例外。 甚至构建和测试...

    java内部学习笔记.docx

    Java技术基础 4 1.1编程语言 4 1.2 Java的特点 4 1.3 Java开发环境 4 1.4 Java开发环境配置 5 ...5.11对象序列化 60 5.12 Thread线程类及多线程 61 5.13 Socket网络编程 65 5.14线程池 67 5.15双缓冲队列 68

    基于javatcpsocket通信的拆包和装包源码-java-interview:java基础知识点

    反序列化 json 和 xml 的区别 接口和抽象类的区别: 反射机制 泛型类 数据库连接池 java 源码分析(集合&框架) 运行时数据区域 内存溢出 垃圾回收 垃圾收集器 类加载的过程 ComboBox(下拉列表框)

    Java面试宝典2020修订版V1.0.1.doc

    11、什么是java序列化,如何实现java序列化? 59 12、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 60 13、java中有几种类型的流?JDK为每种类型的流...

Global site tag (gtag.js) - Google Analytics