大家好,这个系统采用了struts+spring+hibernate实现,其中主要的架构是,dao包括所有的数据访问方法,service包括所有的业务逻辑,action调用service方法,数据的传输通过dto来实现,
问题: 当tomcat一开始打开的时候,系统跑的非常的快,假设系统上面有两个链接,这两个链接都指向下面一个iframe,通过点击连接,来改变iframe里面的数据显示,一般(200~500)条,可是当我们测试的时候,如果我们频繁的点击这两个链接,(当点了一个连接后,还没有等数据出来,紧跟着又点击另一个链接,频繁的这样点,系统就会变的非常的慢,)而且tomcat的内存涨的非常的快,而且涨了上去的内存不会再下来,最后就会导致系统暂时崩溃,无法访问,有的时候会出现spring framework的org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [applicationContext.xml]: Can't resolve reference to bean 'sessionFactory' while setting property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.OutOfMemoryError: Java heap space错误!不知道这是那一方面的原因,又有什么办法能够尽快的找出原因,用jprofiler进行了测试,没有发现没有回收的对象。
另外,调整tomcat的内存大小,可以延长系统的正常运行时间!
分享到:
相关推荐
性能测试,也称为压力测试,用于评估系统在特定并发用户量下的极限性能,查找可能存在的Out of memory等问题,并检查系统配置是否合理。通常使用的工具有LoadRunner(商业)和JMeter(开源)。 然而,性能测试存在...
1. **内存溢出**(Out Of Memory Error, OOM):学习JVM可以帮助开发者更好地理解和解决内存溢出问题,比如通过调整堆内存大小或优化代码来减少内存占用。 2. **性能瓶颈**:通过深入学习JVM的工作原理,开发者可以...
例如,合理的内存分配策略能够避免常见的“OutOfMemory”错误,从而减少服务中断的风险。 #### 获取JVM参数信息的方法 要获取JVM参数的帮助信息,可以在命令行中使用`java -X`命令。例如,在Windows平台上,可以...
### JAVA内存泄露与OutOfMemory - **内存泄露**:对象不再被使用但仍然被引用,导致无法被垃圾回收器回收。 - **解决方案**:使用工具(如VisualVM)检测并修复内存泄露。 - **OutOfMemoryError**:当Java堆空间...