进新公司后应公司要求开了一个新系统,oa系统,这几个月都在弄考勤模块,最近上线后用户多了,运行几天后就挂了报outofmemoryerror permgen space!
tomcat也没有报出是哪个地方,哪个方法有问题!
由于系统在生成考勤数据,排班数据,月报表,导入打卡记录均运用多线程以提高速度!感觉是多线程里出了问题,人一多,线程就会开得多,可能某些资源分给线程了,没有主动回收造成内存泄漏!
最终在各个线程里发现,运用线程泄技术,给每个线程传全局的list数据,这样垃圾回收无法知道这些list是否已经失效,所以在线程执行完后得主动把这些list之类的集合清空设为null!
特别是导入打卡记录,二万多笔,为了加快速度,思路是先读这二万多笔数据到map,然后再根据一人一条线程分到一个list,list里页面存着每个人的一月打卡数据list,在执行多线程时,map已经处理完了不需要使用了,但所有线程执行完还要很久,此时map会一直占用资源,不能给回收,所以在多线程启动前就应该把map清空设为null,达到回收!
以后均是达到垃圾回收的内存,事实是permgen space是永久内存区域,这地方并不会垃圾内存回收,这个是用来装载类的,并不是执行的,一般是固定的,只有新访问一个action时才会增加,并访问过这个action类后,以后再访问就不会再增加了;所以解决这个问题的根本就是加大这个设置的内存
在tomcat的
- 在catalina.bat的第一行增加:
- 在catalina.sh的第一行增加:
- set JAVA_OPTS=-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=64m -XX:MaxPermSize=128m
其中XX:MaxPermSize 这个值设为自己应用的合理值就行了!
相关推荐
从官网下载的sshe孙宇的源代码,已经在eclipse中测试过,可以运行,前台使用了easyUI,展现了easyUI中较多的功能,并且有权限设计,官网的示例网址:http://sshe.jeasyuicn.com/。请参照文件里面的pdf文件配置,并有...
在"sshe项目整合实例"中,我们将深入探讨如何将这四个关键组件集成在一起,为初学者提供一个清晰的学习路径。 首先,**Struts2** 是MVC设计模式的一个实现,它负责处理HTTP请求,调度控制流,并与视图和模型进行...
SSHE是Java Web开发中的一种常见技术组合,由Spring、Struts2、Hibernate和ExtJS(EasyUI)四个框架组成。这个"孙宇SSHE视频教程项目源码"提供了使用这些技术栈进行实际开发的实例代码,对于学习和理解SSHE集成应用...
同时,针对不同的数据库需求,文章也给出了详细的配置指南,确保开发者能够在各种数据库环境下顺利运行SSHE项目。这些细节对于初学者来说尤为重要,能够帮助他们在实践过程中少走弯路。 通过本文的介绍,相信读者...
SSHE框架是一个专门为开发者设计的轻量级、高效能的框架,主要用于简化Web应用程序的开发流程。这个"sshe框架demo"很可能是该框架的一个示例项目,用于演示如何使用SSHE进行实际开发。让我们深入了解一下SSHE框架...
**SSHE项目管理模板详解** 在信息技术领域,SSHE(SSH、SQL Server、EasyUI)是一种常见的技术组合,用于构建高效、稳定且用户友好的管理应用。本项目名为"SSHE项目管理模板",它是一个基于SSH框架的任务管理器,...
SSHE项目源码是一个基于前台EasyUI和后台SSH(Struts2、Spring、Hibernate)的权限管理系统框架。这个框架主要用于构建高效、稳定的企业级应用,它整合了多种技术和工具,以实现灵活的角色权限控制和业务流程处理。...
### SSHE整合教程知识点概述 本教程旨在提供一套简单易行的SSHE(Struts2 + Spring3 + Hibernate4 + Maven + EasyUI)框架整合开发流程,帮助学习者更好地掌握和梳理相关技术知识。 #### 一、开发环境搭建 1. **...
【SSHE项目代码】是一个基于Java技术栈的项目,它主要使用了EasyUI、Struts2和Spring等组件,形成了一个完整的SSHE(Struts2 + Spring + Hibernate + EasyUI)架构。这个项目旨在提供一个易用且功能丰富的前端界面,...
jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要...
标题中的“sshe源代码”很可能指的是一个整合了Spring、Struts、Hibernate和ExtJS(或者EasyUI)这四个技术的Web开发项目源码。这是一个常见的Java Web开发框架组合,通常用于构建企业级应用程序。接下来,我们将...
【标题】:SSHE整合详解——Struts2、Hibernate、Spring与ExtJS4的应用实践 在Web开发领域,SSHE(Struts2、Hibernate、Spring、ExtJS4)是一个常见的技术栈,它集成了MVC框架、持久层管理、依赖注入和前端交互,为...
【标题】"孙宇 sshe行编辑源码" 涉及的是一个集成开发项目,主要结合了Spring、Struts2、Hibernate4和EasyUI1.3这四个关键组件,构建了一个具有行编辑功能的应用。这里我们将深入探讨这些技术及其在实际开发中的应用...
孙宇SSH+Maven+EasyUI整合视频教程+项目源码,在文档中有下载链接。
【SSHE】是一个常见的Java Web开发框架组合,由Struts、Spring、Hibernate和EJB(有时也称为S2SH)组成。这个框架集合提供了一种高效、可扩展且灵活的方式来构建企业级应用。下面我们将详细探讨这三个核心组件以及...
【SSHE MAVEN入门】是针对Java开发环境配置和项目构建工具Maven的学习指南,主要涵盖了Myeclipse的优化配置以及SSHE(Spring、Struts、Hibernate、SpringMVC)和Maven的基础知识。 1. **JDK配置** - **简单配置**...
"孙宇 sshe示例项目源码"是一个关于网络安全与自动化运维的示例项目,主要聚焦于SSH(Secure Shell)的使用。SSH是一种网络协议,用于安全地远程登录到服务器,执行命令,传输数据,以及管理网络设备。在这个项目中...
内含两个版本的源代码以及配置说明文档,采用的技术分别是Spring MVC3+Hibernate4和Struts2+Spring3+Hibernate4+maven,前台页面的用的是Jquery EasyUI,所以页面效果也很炫,拿来学习是非常的棒了,下完后先看文档,...
SSHE整合开发是一种基于Java技术栈的Web应用开发模式,主要涵盖了Spring、Struts、Hibernate和EJB(Enterprise JavaBeans)这四大框架的集成。在Java Web开发领域,SSHE整合提供了一种高效且功能全面的解决方案,...
【标题】"孙宇sshe用到的myeclipse插件"所指的是一套针对MyEclipse集成开发环境的特定插件集合,由孙宇(可能是某位开发者或技术爱好者)推荐或使用。MyEclipse是基于Eclipse平台的一个强大Java、Web、J2EE及企业级...