1、分析自己的代码,查看是否有一些大数据的变量,比如大数组等等,通过优化代码解决问题
2、尝试分配更多的内存,设置jvm启动参数-Xms256m 堆内存大小-Xmx1024m 最大的堆内存大小-XX:NewSiz髫潋啜缅e=128m 新生代内存大小-XX:MaxNewSize=256m 新生代最大可分配内存大小-XX:PermSize=512m 方法区内存大小-XX:MaxPermSize=512m 方法区最大可分配内存大小
3、对大文件的处理不要把文件都加载到内存中,设置一个最大的文件处理大小,当超过这个值时,将最早处理过的文件缓存刷新至硬盘,释放内存空间,然后再接着处理
4、当然,也可以选择高性能的第三方文件处理插件,通过第三方接口来处理大文件数据
5、总结:内存空间是有限的,对于文件这种使用率不高的数据应尽量放在硬盘中