Java内存溢出

来源:互联网 发布:阿里云域名价格 编辑:程序博客网 时间:2024/05/18 03:34

Java内存溢出原因:

  1. 内存中加载的数量庞大,如开启大型文件或从数据库一次拿了太多的数据很容易造成内存溢出,所以在这些地方要大概计算一下数据量的最大值是多少,并且设定所需最小及最大的内存空间值。 
  2. 尽早释放无用对象。JDBC数据库连接ResultSet 、PreparedStatement、Connection
  3. 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收
  4. 代码中存在死循环或循环产生过多重复的对象实体(避免在循环中创建对象)
  5. 尽量少用静态变量,因为静态变量存放在永久代(方法区),永久代基本不参与垃圾回收
  6. 使用字符串处理,避免使用String,应大量使用StringBuffer,每一个String对象都得独立占用内存一块区域

class Heap{public static void main(String[] args){ArrayList list = new ArrayList();while (true){list.add(new Heap());}}}


http://wade6.iteye.com/blog/1842907

http://outofmemory.cn/c/java-outOfMemoryError
http://blog.163.com/wangchaofeng888@126/blog/static/299273852012612102429363/

http://www.cnblogs.com/panxuejun/p/5882424.html

https://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/

0 0