我正在开发一个基于 Struts 的基本应用程序,该应用程序在内存中会出现重大峰值。我们有一个监控工具,它会注意到每个用户的一个请求会增加 3MB 到 JVM 堆内存。是否有任何提示可以鼓励早期进行垃圾收集、释放内存或提高性能?
该应用程序是一个基本的 Struts 应用程序,但 JSP 报告中有很多行,因此可能创建了很多对象。但它不是你以前没见过的东西。
- 执行一组数据库查询。
- 创建一个序列化的 POJO 对象 bean。这代表一行。
- 在数组列表中添加一行。
- 调用操作时,将数组列表设置为表单对象。
- JSP 逻辑将从 ActionForm 遍历列表并将数据显示给用户。
注意:
1. 表单在会话范围内,可能是数据数组列表(也许这是一个问题)。
2. POJO bean 包含 20 个左右的字段,String
或BigDecimal
数据的混合。
报告可以有 300 到 1200 左右的行。因此,至少创建了那么多对象。