Tag: 释放资源预览模式: 普通 | 列表
08-03
19

Cannot serialize session attribute XX for session

应该是你的程序中有太多没有释放的资源
建议:
1、如果你操作了数据库,重点察看代码中是否在任何情况下,都释放了数据库连接;
2、检查你的程序,重点检查循环程序,看是否产生了大量的大对象(比如在循环内部构造新的集合等等),特别是静态的对象;
3、检查代码,看你是否把很多对象放在了session中,特别是一些数据存储的对象。如果有可能,把能够转到request的,都放在request中,如果必须放在session中,最好使用完后移除该对象。
4、你的错误指向的是你的Story_Data类,主要原因是Tomcat内存占用过大(原因可能是以上三种),它会自动把一些暂时处在不活动状态的对象序列化到硬盘上,而你的Story_Data没有实现Serializable接口,或者你实现了Serializable接口,但是,其中使用到了不能序列化的对象(比如ArrayList),所以,在序列化的时候报错。

多查查你的程序,虽然java可以自动垃圾回收,但是,也不是所有的垃圾都可以往容器里倒。

Tags: TOMCAT 释放资源

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 802