为什么实体类要实现serializable接口序列化
1个回答
展开全部
当客户端访问可以打开会话功能的资源时,web服务器会创建一个与客户端对应的HttpSession对象,每个HttpSession对象都会使用一定的内存空间。如果在一定时间内有大量用户访问网站,那么大量的HttpSession对象就会堆积在web服务器的内存中,这会消耗大量的服务器内存。即使用户已经离开或关闭了浏览器,web服务器仍然会保留相应的HttpSession对象,这将占用web服务器的内存资源,直到它们超时。
Web服务器通常会将那些暂时处于非活动状态但尚未超时的HttpSession对象传输到文件系统或数据库中进行存储,然后在服务器想要使用它们时将它们从文件系统或数据库加载到内存中。这项技术被称为会话持久性。
要将HttpSession对象保存到文件系统或数据库,需要将HttpSession对象中的每个属性对象序列化到文件系统或数据库。当从文件系统或数据库(如内存)加载HttpSession对象时,需要对其进行反序列化,以恢复HttpSession对象中的每个属性对象。因此,存储在HttpSession对象中的每个属性对象都必须实现Serializable接口。
简言之,就是为了 将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本。实现 Serializable接口还能 按值将对象从一个应用程序域发送至另一个应用程序域。
Web服务器通常会将那些暂时处于非活动状态但尚未超时的HttpSession对象传输到文件系统或数据库中进行存储,然后在服务器想要使用它们时将它们从文件系统或数据库加载到内存中。这项技术被称为会话持久性。
要将HttpSession对象保存到文件系统或数据库,需要将HttpSession对象中的每个属性对象序列化到文件系统或数据库。当从文件系统或数据库(如内存)加载HttpSession对象时,需要对其进行反序列化,以恢复HttpSession对象中的每个属性对象。因此,存储在HttpSession对象中的每个属性对象都必须实现Serializable接口。
简言之,就是为了 将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本。实现 Serializable接口还能 按值将对象从一个应用程序域发送至另一个应用程序域。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询