因为要持久化
对象存在于内存中,而Object ob=new Object();
其实ob只是一个存放了Object对象所在内存地址的变量,在一个JVM中,如果需要用直接用就是了,因为根据内存地址就可以在内存中找到对象。
但是如果在2个JVM中需要传递ob呢?直接把内存地址从一个JVM中传到另一个JVM中?地址可以传递过去,但是没有用,另一个JVM中不可能访问这个JVM的内存。更不用说跨网络传输对象,2台电脑更不可能直接根据内存地址去访问。所以就需要把对象变成二进制数据,将内存中的对象变为二进制数据的过程就叫序列化。二进制数据可以通过各种方法传递(包括网络传输)。等传输完了再进行反序列化,这样就可以达到在不同的JVM中,甚至不同的电脑中传递对象。
PS:见过有数据库直接保存Map对象的,也是用了序列化。