当前位置: 技术问答>java相关
有谁对“java out of memory”的Exception了解?
来源: 互联网 发布时间:2015-08-25
本文导语: 请问它主要原因是什么?解决方案又是怎么样? 是不是某个对象的开销太大?例如一个很多条记录的Collection?使用valueObject概念的话,一条记录对应一个object,然后再把多个object组成一个Collection。然后再用这个Collec...
请问它主要原因是什么?解决方案又是怎么样?
是不是某个对象的开销太大?例如一个很多条记录的Collection?使用valueObject概念的话,一条记录对应一个object,然后再把多个object组成一个Collection。然后再用这个Collection来通讯(包括通过WebService),记录数太多是不是就会出现这个问题?它主要原因在哪里啊?还望高手指点,谢谢!
是不是某个对象的开销太大?例如一个很多条记录的Collection?使用valueObject概念的话,一条记录对应一个object,然后再把多个object组成一个Collection。然后再用这个Collection来通讯(包括通过WebService),记录数太多是不是就会出现这个问题?它主要原因在哪里啊?还望高手指点,谢谢!
|
这种情况主要是你的内存占用太多,无法再分配堆内存,所以jvm会停止所有的操作,解决办法有两种:
1。运行java时加参数
java -Xms 定义初始堆大小
java -Xmx 定义最大堆大小,可以定义得大一些
java -Xss 定义线程堆栈大小
也可以不写X, 举例:
java -ss3M MyClass 表示运行MyClass要分配3M的线程堆栈。
2。如果你用WebLogic或WebSphere, 那么在console中可以设置jvm,
同样把以上参数设置得大一些。
1。运行java时加参数
java -Xms 定义初始堆大小
java -Xmx 定义最大堆大小,可以定义得大一些
java -Xss 定义线程堆栈大小
也可以不写X, 举例:
java -ss3M MyClass 表示运行MyClass要分配3M的线程堆栈。
2。如果你用WebLogic或WebSphere, 那么在console中可以设置jvm,
同样把以上参数设置得大一些。
|
我遇到过这个问题
原因是一个String不断的增加内容,最后out of memory
解决的办法是重新new 一个
你的问题我不是很清楚,但你可以借鉴一下
原因是一个String不断的增加内容,最后out of memory
解决的办法是重新new 一个
你的问题我不是很清楚,但你可以借鉴一下