为什么我们需要在创建 java web 时为 类 实现可序列化

Why we need implement Serializable for classes put in server when create a java web

我正在学习 java 网络,我的老师让我必须为服务器上的 classes 实施 Serializable。为什么我们必须这样做。因为当我不执行 Serializable 时,我的服务器仍然处于活动状态。那么,谁能回答我为什么我必须为服务器端

上的 class 实现 Serializable class

我假设我们正在谈论基于 Jakarta Servlet 技术构建的网络应用程序。

您的网络应用程序在 运行 时间 web container 上占用了内存。并发用户越多,占用的内存就越多。为了减轻内存压力,一些 Web 容器会调用一项功能,将不太活跃的用户会话写入磁盘。

此外,一些 Web 容器在关闭时会执行此操作。当前会话仍在 运行 关闭时保存到磁盘,并在服务器再次启动时自动重建。

另一种情况是 load-balancing,多个 Web 容器协同工作可能会将某些会话从任何负载过重的服务器重新定位到任何未充分利用的服务器。此传输在 运行 时间内即时发生。

在所有这些情况下,您的网络应用 类 的对象必须支持 Serializable 以便它们可以写入存储或通过本地网络进行通信。

在一些复杂的应用程序中,使所有对象都可序列化可能不可行。在这种情况下,您可以选择禁用我上面讨论的那三个功能。然后,您将确保 运行 部署服务器上的 Web 应用程序具有足够多的内核和足够多的内存来处理您的 Web 应用程序将遇到的用户峰值。