客戶端訪問了某個能開啟會話功能的資源, web服務器就會創建一個與該客戶端對應的HttpSession對象,每個HttpSession對象都要站用一定的內存空間。如果在某一時間段內訪問站點的用戶很多,web服務器內存中就會積累大量的HttpSession對象,消耗大量的服務器內存,即使用戶已經離開或者關閉了瀏覽器,web服務器仍要保留與之對應的HttpSession對象,在他們超時之前,一直占用web服務器內存資源。
web服務器通常將那些暫時不活動但未超時的HttpSession對象轉移到文件系統或數據庫中保存,服務器要使用他們時再將他們從文件系統或數據庫中裝載入內存,這種技術稱為Session的持久化。
將HttpSession對象保存到文件系統或數據庫中,需要采用序列化的方式將HttpSession對象中的每個屬性對象保存到文件系統或數據庫中;將HttpSession對象從文件系統或數據庫中裝載進內存時,需要采用反序列化的方式,恢復HttpSession對象中的每個屬性對象。所以存儲在HttpSession對象中的每個屬性對象必須實現Serializable接口
————————————————
轉載:CSDN博主「wan23333」
https://blog.csdn.net/wan23333/article/details/83057488