Java实体类为什么要实现序列化

Posted whynotybb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实体类为什么要实现序列化相关的知识,希望对你有一定的参考价值。

public class User implements Serializable {}

 客户端访问了某个能开启会话功能的资源, web服务器就会创建一个与该客户端对应的HttpSession对象,每个HttpSession对象都要占用一定的内存空间。如果在某一时间段内访问站点的用户很多,web服务器内存中就会积累大量的HttpSession对象,消耗大量的服务器内存,即使用户已经离开或者关闭了浏览器,web服务器仍要保留与之对应的HttpSession对象,在他们超时之前,一直占用web服务器内存资源。

 web服务器通常将那些暂时不活动但未超时的HttpSession对象转移到文件系统或数据库中保存,服务器要使用他们时再将他们从文件系统或数据库中装载入内存,这种技术称为Session的持久化。

  将HttpSession对象保存到文件系统或数据库中,需要采用序列化的方式将HttpSession对象中的每个属性对象保存到文件系统或数据库中;将HttpSession对象从文件系统或数据库中装载如内存时,需要采用反序列化的方式,恢复HttpSession对象中的每个属性对象。所以存储在HttpSession对象中的每个属性对象必须实现Serializable接口

以上是关于Java实体类为什么要实现序列化的主要内容,如果未能解决你的问题,请参考以下文章

C#实体类 时间是啥类型

为什么对象序列化要定义serialVersionUID

java中为什么实体类需要实现序列化

C# 中多个实体类的问题

序列化反序列化(实体类或要序列化的对象类必须实现Serializable接口)

实体类序列化和Ajax