请教java性能优化

dream1210 2011-02-24 10:21:07
现在我们使用的框架是 springmvc+hibernate 使用open session in view管理session
现在发现又内存泄露,运行大概2天 服务器死机
请教问几个问题
1.查询数据放在list中 返回页面后,会不会直接释放list的引用.(这里有延迟加载的对象)
2.页面加载的时候如果出现js方面的错误,会影响到session的管理么(session的关闭)?
3.举个例子:
String datestr = "2010-10-10";
Date date = new Date(datestr);
List list = new ArrayList();
list.add(date);
像这种关系. date对象应该在list没有释放的时候就不会被gc回收, datestr对象会被回收么?

请教各位兄弟姐妹,是否有相关的优化经验、好的方法、需要注意的事项.给些建议指点. 不胜感激.

没多少分了.帮帮忙.谢谢了.
...全文
90 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liubang200707 2011-03-02
  • 打赏
  • 举报
回复
JProbe-Java内存分析、Java性能分析、Java覆盖分析。
JProbe是一个企业级的Java剖析器,提供对内存使用,性能和测试覆盖率的智能诊断。它使得开发人员能快速查找和修复应用程序代码的性能和稳定性问题的根本原因,这些问题影响组件和集成的完整性。
JProbe提供了三种类型的分析:

内存分析,使开发人员可以发现和解决Java内存泄露和对象循环,以确保最佳的方案效率和稳定性。
性能分析,使开发人员可以识别和解决Java的瓶颈,死锁,以确保最佳的性能和可扩展性方案。
l覆盖分析,使开发人员在单元测试,以确定关联代码执行的线路,以确保测试范围和程序的正确性。
JProbe还提供一个Eclipse插件,提供了在Eclipse Java IDE内智能代码性能分析和解决问题。

详细参考:http://www.innovatedigital.com/node/623
zhxmk 2011-02-28
  • 打赏
  • 举报
回复
试试jprofiler,里面功能很强大。用他运行监视程序一段时间,应该就能够找出内存泄露的地方
shierqu 2011-02-27
  • 打赏
  • 举报
回复

内存泄漏的问题很容易出现,尤其在赶工期,只重视功能实现的时候。
想避免需要严谨的编码态度,良好的作风,以及丰富的经验

总之不要对jvm的gc太信任。
要时刻掌握自己使用的数据的生命周期。


另外既然都知道有内存泄漏了,就进行代码优化吧
runer 2011-02-24
  • 打赏
  • 举报
回复
1、原则上会释放的
2、不会
3、datestr和date和list没关系了,不像list对date有引用

内存泄漏的问题很容易出现,尤其在赶工期,只重视功能实现的时候。
想避免需要严谨的编码态度,良好的作风,以及丰富的经验

总之不要对jvm的gc太信任。
要时刻掌握自己使用的数据的生命周期。


另外既然都知道有内存泄漏了,就进行代码优化吧
dream1210 2011-02-24
  • 打赏
  • 举报
回复
等待中...... 大家帮帮忙
dream1210 2011-02-24
  • 打赏
  • 举报
回复
不胜感激 , 我去试试 .
runer 2011-02-24
  • 打赏
  • 举报
回复
主要还是在编码期间的调试

可以观察jvm的GC活动
运行期间监控可以换用jrockit
想精确定位,这个很难,要具体问题具体分析
dream1210 2011-02-24
  • 打赏
  • 举报
回复
谢谢runer兄弟回答.
有没有什么软件能精确定位,内存泄露的类和方法呢?

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧