为什么以及如何在 Java Web 应用程序中使用序列化?

2022-09-03 09:46:55

我一直在研究一个Java Web应用程序,其中框架坚持认为一切都是可序列化的。我假设这不是特定于框架的,而是特定于Java中的Web应用程序,我的问题是:框架/服务器/任何正在序列化事物的操作是什么?它必须这样做吗?

注意:我不太了解 Web 应用程序或序列化。


答案 1

典型的问题是,在复制或服务器关闭期间,内部 HTTP 会话被“序列化”到持久性存储区,以便可以恢复或共享它们。

序列化是保存对象的状态,并能够在以后重新构造该状态。


答案 2

对于大多数应用来说,这并不是绝对必要的,但可以通过两种方式提高性能:

  • 用户会话可以在请求之间序列化到磁盘。当来自同一用户的请求之间的时间比处理请求所需的时间长得多时,这可以大大减少服务器的内存使用量,并使您能够为更多的用户提供服务。
  • 如果使用负载平衡将请求分散到多个服务器上,则需要确保同一用户的所有请求始终由同一台计算机提供服务(这会降低负载平衡器的灵活性),或者需要能够通过序列化在服务器之间移动会话数据。

推荐