Overview

本小节将会介绍

  • Java什么时候使用序列化

什么时候使用序列化

当对象保存到物理介质的时候,比如对象保存到磁盘、文件
当对象在网络上传输的时候,比如通过套接字传输对象
当对象远程过程调用的时候,比如通过RMI调用对象

Reference

我们的Java程序必须要运行在Java虚拟机中,那么在同一个Java虚拟机进程中,换句话说是在同一快内存空间里面,什么地方需要用此对象,直接传递该对象的引用就可以了,我们想调某一个对象的方法,通过该对象的引用就可以了,传过去就可以了;
那么我问你,如果是不同的Java虚拟机进程呢?不同的内存空间呢?甚至我北京的计算机的Java虚拟机中的某一个类,需要使用广州的某台计算机上的某个Java对象呢?怎么办?
这是不同的内存空间,你怎么调?
补充:
对象的序列化技术,实现的手段是通过Object流,那么我上面所说的需求,你就可以通过对象序列化,将此对象序列化之后得到一些“内容”,通过网络传输这部分“内容”,从广州的服务器上将一个对象序列化之后传过来,到了我北京的服务器上,再通过反序列化,在北京的服务器内存中“造出一个对象出来”,这个对象和你序列化之前广州服务器上的对象是一样的,ok,你可以随便调方法了;
补充:
对象的序列化技术在EJB3.0中得到广泛的使用,分布式的架构,远程方法调用(RMI),那肯定要用到对象序列化;
客户端通过JNDI查找到某一个EJB,那么你调了该企业Bean的方法,传近去的这个参数是需要序列化的,该方法的返回值,也是要序列化传过来的;
补充:
对象的序列化就是可以将对象序列化之后便于在网络上传输,或者保存到物理介质上;比方说你做了个游戏,你玩了一半你想存盘,那么存盘,就可以简单理解为将当前游戏运行的所有对象序列化保存到硬盘上,然后你再次玩的时候,你读取存档,就是反序列化,“再弄出这些对象出来”,继续运行。


Episode

IDEA快速生成UID

1、按下图设置,搜索:Serializable classes
【Java序列化】什么时候使用序列化
2、光标放到实体类的名字上,然后 alt+enter(回车) 找到如下内容,然后直接回车即可
【Java序列化】什么时候使用序列化
3、自动生成UID
【Java序列化】什么时候使用序列化

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-12
  • 2022-01-24
  • 2022-02-20
猜你喜欢
  • 2023-01-18
  • 2022-12-23
  • 2021-11-27
  • 2021-07-27
  • 2022-02-14
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案