易截截图软件、单文件、免安装、纯绿色、仅160KB

java.lang.OutOfMemoryError: Java heap space

 
问题描述
Exception in thread "main" java.lang.OutOfMemoryError:
Java heap space
解决方案[转]
一直都知道可以设置jvm heap大小,一直用eclipse写/调试java程序。一直用命令行or
console加参数跑程序。现象:在eclipse的配置文件eclipse.ini中设置-vmargs -Xms500m
-Xmx1024m
,在eclipse中直接run
或者debug某些耗内存的程序时依然出现java.lang.OutOfMemoryError: Java Heap
Space错误,即通常认为的内存不足,java虚拟机内存不够用。而在命令行加这些参数则有效果,不会出错。这说明一个问题,
这些参数根本没有起作用
。今天需要在eclipse里调试程序,还没到需要调试的地方就heap
error了,在网上搜了很多地方,得到了最终的答案:
选中被运行的类,点击菜单‘
run->run...
’,
选择(x)=Argument标签页下的vm arguments


输入 -Xmx800m
, 保存运行。
原来还需要对每个project单独设置
,汗...
有三种可能导致OutOfMemoryError。首先是,此JVM有真实的内存泄漏,导致此JVM堆在内部实现时产生了一个Bug。这极不可靠。所有
JVM都经过充分的测试,并且,如果有人发现这种bug,它将绝对是最高的优先级。因此你可以非常宽心地排除这种可能性。
  
第二种可能的OutOfMemoryError原因只不过是,你没有为你的应用程序运行时给予足够多的可用内存。这种情况,有两种可能的方案,或者增加
JVM堆可用大小,或者减少你的应用程序所需的内存总量。提高JVM可用堆大小可以简单的使用JVM的 -Xmx
参数。假如你将此参数设置尽可能的大(可用内存极限不要超过系统物理内存,否则你的应用程序将分页并暂停),仍然有以上所提到的内存问题,那么,你需要减

少你的应用程序所可能用到内存总量。减少应用程序内存可能是简单的,你可能允许一些集合过大,例如使用了许多大的缓冲区。或者它过于复杂,要求你重新实现
一些类,乃至重新设计应用程序。
   读者 Jams Stauffer 指出有些JVM(例如 sun的
JVMs),还有一个“Perm”参数用来处理JVM结构与类对象。如果你正在使用一个数量非常巨大的类集,它有可能运行在"Perm"空间之外,然后你
需要增加此空间的大小,例如,sun的JVM使用 -XX:PermSize 与 -XX:MaxPermSize 选项。
  
第三种导致OutOfMemoryError最为常见,无心的对象引用保持。你没有明确无误的释放对象,以致


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

java 列出斐波那契数列的前n项

public class Fibonacci {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

NumOfFibonacci(9);
}

public static int MyFibonacci(int i){
if(i>0) {
if(i == 1)return 1;
if(i == 2)return 1;
else return MyFibonacc ......

Name java:comp is not bound in this Context

 
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
在tomcat中发布web项目,可能是因为spring中配置了jndi(只配置了jndi,其他的有工具包封装了)。
启动的时候报错(在项目目录下,在tomcat中配置context指向项目目录就没问题,打包发布到
tomcat就报错了),抛的异常是:
jav ......

java 事件机制探讨

java中的事件机制的参与者有3种角色:
1.event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中
2.event source:具体的接受事件的实体,比如说,你点击一个button,那么button就是event source,这样你必须使button对某些事件进行相应,你就需 ......

java获取程序当前目录。

import java.net.URL;
import java.net.URLDecoder;
public class PathUtil
{
 /**
  * Get the env of windir, such as "C:\WINDOWS".
  * @return the env of windir value.
  */
 public static String getWindir(){
  return System.getenv("windir");
 }
 
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号