为什么大多数Java框架类都扩展了可序列化接口?

为什么大多数Java框架类都扩展了可序列化接口?,java,serialization,frameworks,Java,Serialization,Frameworks,序列化是一种技术,我们将转换对象发送到字节码中,以便通过网络发送。现在,许多Java框架类(Spring、hibernate(SessionFactory)等)扩展了可序列化接口?为什么会这样 为什么在web上搜索我发现了这段文字“序列化类可以支持一致的版本控制,并且足够灵活,以允许应用程序对象模式的逐步演变” 这是上面问题的正确答案吗?如果是,请解释一下,如果不是,那么类扩展可串行接口的实际原因是什么?我想你可以把这看作是一种预防措施:让类从一开始就可串行化并不需要花很多钱 但是,稍后将其添加

序列化是一种技术,我们将转换对象发送到字节码中,以便通过网络发送。现在,许多Java框架类(Spring、hibernate(SessionFactory)等)扩展了可序列化接口?为什么会这样

为什么在web上搜索我发现了这段文字“序列化类可以支持一致的版本控制,并且足够灵活,以允许应用程序对象模式的逐步演变”


这是上面问题的正确答案吗?如果是,请解释一下,如果不是,那么类扩展可串行接口的实际原因是什么?我想你可以把这看作是一种预防措施:让类从一开始就可串行化并不需要花很多钱

但是,稍后将其添加到代码中可能会更加昂贵


除此之外:使类可序列化实际上迫使您在创建类时考虑这些“方面”。因此,它可以帮助提高设计的质量,因为你不会忘记这一点

一个可能的原因是,如果需要,web容器可能会将会话数据存储在磁盘上(例如,服务器负载高且会话在一段时间内处于非活动状态)。要使其工作,存储在会话中的所有数据(可传递的,即会话数据直接或间接引用的所有实例)必须是可序列化的


除了在会话中存储的任何数据之外,许多框架也在会话中存储一些数据(会话范围的bean,作为一个与Spring相关的示例)。

可能是因为这些数据必须很快或稍后序列化:????????它们实现Serializable的原因是为了能够序列化它们。类实例被序列化以保存到磁盘、通过网络发送等。