zoukankan      html  css  js  c++  java
  • Java出现OutOfMemoryError

    转自:http://www.cdtarena.com/javapx/201305/8674.html

    如果在运行Java程序时出现以下的栈跟踪信息:

        Java代码:

        java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)

        at com.mysql.jdbc.Util.handleNewInstance(Util.java:435)

        at com.mysql.jdbc.PreparedStatement.getInstance(PreparedStatement.java:872)

        说明程序耗尽了JVM能够使用操作系统的最大内存。

        此时可以检查代码是否有过度创建对象的嫌疑。如果没有,可以在java命令行中使用非标准的选项

        Command代码:

        -Xmsp

        -Xmxp

        (-Xms 和 -Xmx 的第一个X必须大写,否则无法辨认)

        第一个参数指定初始内存大小,比如设置成5M,-Xms5m .(m或M都行)

        第二个参数指定最大内存,即JVm能够从操作系统中获取的最大内存值。比如设置成10M -Xmx10m .

        一般初始大小值小于最大值。 -Xms < -Xmx

        一个简单的例子:

        Command代码:

        java -Xms128m -Xmx256m

  • 相关阅读:
    什么是 CLR
    常用的数据结构以及算法
    Array和ArrayList的异同点
    什么是CMS?
    .NET Framework3.0答疑
    C#中的委托
    C#速成之三(Quick C#)
    C#速成之五(Quick C#)
    C#速成之四(Quick C#)
    类,对象,封装,接口,多态,继承
  • 原文地址:https://www.cnblogs.com/cdtarena/p/3108217.html
Copyright © 2011-2022 走看看