美文网首页
Java 中的类为什么要实现序列化呢

Java 中的类为什么要实现序列化呢

作者: 我是小徐同学 | 来源:发表于2017-08-27 22:49 被阅读0次

很多人觉得自己写得 Java 代码中,新建的 pojo 对象要实现序列化是为了要保存到硬盘上,其实呢,实现序列化和保存到硬盘上没有必然的关系。

以下图举例:

假设左边的是你的电脑,也就是客户端,右边的是服务器。之前你的客户端和服务器可能都在同一个电脑上,都是 Windows 下,那么右边的服务器也可以放到 Linux 中,这就涉及到左右两个不同的服务器了。中间用一条竖线分隔一下。

客户端可以调用服务器,所以肯定要传递参数。假设你传递的是字符串,没有问题,所有的机器都可以识别正常的字符串。

那么现在假设你传递的参数是一个 Java 对象,比如叫 cat。服务器并没有那么智能,它并不会知道你传递的是一个 Java 对象,而不是其他类型的数据,它识别不了 Java 对象。

Java 对象本质上是 class 字节码,服务器并不能根据这个字节码识别出该 Java 对象。所以,要提供一个公共的格式,不仅 Windows 能识别,你的服务器也能识别的公共的格式。

我们将 Java 对象转换成公共的格式叫做序列化,将公共的格式转换成对象叫做反序列化。保存到磁盘只是序列化的一种表现形式。

就这么简单,小小的问题,希望对大家有所帮助。

相关文章

  • 2019年Java面试题(三) 集合

    1. 如在COLLECTION框架中,实现比较要实现什么样的接口? Java类实现序列化的方法是实现Java.io...

  • Java 中的类为什么要实现序列化呢

    很多人觉得自己写得 Java 代码中,新建的 pojo 对象要实现序列化是为了要保存到硬盘上,其实呢,实现序列化和...

  • 序列化的原理

    Java 序列化 Java 序列化只是针对对象的状态进行保存,至于对象中的方法,序列化不关心 当一个父类实现了序列...

  • java 序列化和反序列化

    使用Java的序列化和反序列化可以实现信息的持久存储要实现序列化必须实现java.io.Serializable这...

  • CommonsCollections2反序列化漏洞研究记录

    反序列化漏洞四个重要方法 Java反序列化的过程中可以自动执行序列化类的四个方法,且反序列化的类必须实现了Seri...

  • Java原生序列化文件格式分析

    本文中JDK版本为1.8.0_151 1. Java序列化 Java中,类通过继承Serializable即可实现...

  • Java中的transient关键字

    概述 在Java中,一个类只要实现Serializable接口,这个类的对象就可以被序列化,这种序列化模式为开发者...

  • Java序列化与反序列化

    问题 Java序列化与反序列化是什么?为什么需要序列化与反序列化?有什么好处?如何实现Java序列化与反序列化? ...

  • java序列化之Hessian

    一、Hessian序列化的前提 Hessian要实现序列化,前提是被序列化的类得实现Serializable接口。...

  • 序列化(java Serializeable、json、prot

    java序列化 序列化:将对象写入到IO流中反序列化:从IO流中恢复对象意义:序列化机制允许将实现序列化的Java...

网友评论

      本文标题:Java 中的类为什么要实现序列化呢

      本文链接:https://www.haomeiwen.com/subject/dffidxtx.html