我用awt写了一个号码处理工具,运行时处理号码量大,报内存溢出,我想问下怎么修改jvm的内存!我知道在环境变量可修改内存的大小,但是这种方法治标不治本,如果将这个号码工具,在别的电脑上运行也会报内存溢出,我想问下有什么方法可以解决这个问题啊!
解决方案 »
- jsp出错,编译没有问题 javax.servlet.ServletException
- getCurrentSession()的问题
- axis 在JBOSS4.0上的部署问题
- 希望大家帮帮小弟~JDBC链接不了
- Tomcat如何配置虚拟目录?
- 求助,文件问题
- struts问题,为什么取不到值???(在线等候...)
- 在线等,如何在程序中用dtd验证xml?
- 运行jboss,出现如下错误:javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interf, 再线等。。
- 欢迎讨论,j2EE的核心模式!
- jbpm工作流是否有赛跑的模式
- Unable to instantiate Action, loginAction, defined for 'login' in namespace '/'
运行java时设置参数最小内存64m,最大内存800m。
直接java -Xms128m -Xmx1024m 运行入口,将这个放到一个批处理文件(bat)里就可以了出现内存溢出最好是优化下你的代码,让它使用完能够释放资源,而不是一味的装载,不然给你10个G的内存也不够你用。
可以申请垃圾回收机进行垃圾回收。在可能会出现大量闲置对象时(例如在某个会产生大量局部对象的循环结束后)申请回收可以有效的提高内存的使用效率。要注意的是:与C#中的申请回收GC.Collect()不同,System.gc()并不是强制进行垃圾回收,仅是向回收机提出回收申请,回收机一般不会马上进行回收。因此优化代码才是最根本的解决之道。