关于一个CS项目,jvm内存溢出问题的解决方案
2014-09-23 13:59
351 查看
发生场景以及原因:
在跑程序的时候,因为程序内的converter对象较多,数据量较大,所以造成了跑程序的时候jvm内存溢出。
解决方式:
1、设置jvm内存大小 -Xmx
1500m
将虚拟机内存调整为1.5g
再次运行程序,内存依然溢出
2、去掉一些无用对象加载,优化了代码,并在一些内部变量的大对象加载的方法结束部加上System.gc();
希望能让gc回收掉一些不用的对象
再次运行程序,内存溢出
调整后溢出原因:System.gc();只是为jvm做个提示,告诉jvm内存堆之中的无用对象该回收,可是gc的回收机制是有一定时限的,并非调用该语句System.gc();就能立刻回收掉垃圾对象,所以 依然造成内存溢出
3、最后写了对象创建的动态代理
将一些大对象的创建方式改为若引用
然后调用gc。
再次运行程序 OK;
在跑程序的时候,因为程序内的converter对象较多,数据量较大,所以造成了跑程序的时候jvm内存溢出。
解决方式:
1、设置jvm内存大小 -Xmx
1500m
将虚拟机内存调整为1.5g
再次运行程序,内存依然溢出
2、去掉一些无用对象加载,优化了代码,并在一些内部变量的大对象加载的方法结束部加上System.gc();
希望能让gc回收掉一些不用的对象
再次运行程序,内存溢出
调整后溢出原因:System.gc();只是为jvm做个提示,告诉jvm内存堆之中的无用对象该回收,可是gc的回收机制是有一定时限的,并非调用该语句System.gc();就能立刻回收掉垃圾对象,所以 依然造成内存溢出
3、最后写了对象创建的动态代理
将一些大对象的创建方式改为若引用
然后调用gc。
再次运行程序 OK;
相关文章推荐
- 关于栈内存溢出的一个问题
- 关于生产环境出现tomcat的jvm 内存溢出问题的解决
- 关于tomcat7内存溢出问题解决方案:ava.lang.OutOfMemoryError: PermGen space
- 关于 Eclipse 使用Tomcat 启动项目时的内存溢出问题
- [原创].关于使用QII 10.0编译器无法编辑和查看中文的问题一个变通解决方案
- 关于ubuntu10.04触摸板不能禁用和gedit文本编辑器中文乱码问题的一个解决方案
- 深入JVM(2): 由一个栈溢出的问题看Java类和对象的初始化
- VS2008中解决方案只能添加一个项目的问题解决
- 关于gae不能更新的问题,提供一个简单的解决方案
- 关于Android Application 内存溢出问题的总结
- 深入JVM(3):由一个栈溢出的问题看Java类和对象的初始化续
- 在vs环境中两项目删除其中一个项目解决方案不显示的问题
- 关于CS模式下,控制一个容器内控件的值问题
- 一个关于项目管理的问题
- [转载].关于使用QII 10.0编译器无法编辑和查看中文的问题一个变通解决方案
- 关于内存泄露和溢出问题浅谈
- 关于【apache- tomcat- 5.5.15/conf /Catalina/localhost配置虚拟目录】时的一些问题。(配置web项目的方式不止一种,虚拟目录就是一个)
- 关于.NET解决方案批生成的一点探索(同一个解决方案下多项目批生成)
- 前两天困扰我的一个关于指针和内存的问题的总结
- tomcat 的jvm 内存溢出问题的解决