运行环境: STS(eclipse -Xms40m -Xmx768m -XX:MaxPermSize=1024m)+win7(8G内存)
运行单元测试,报错: java.lang.OutOfMemoryError: Java heap space
相信这个错误比较常见.我这边出现的问题是,即使设置了eclipse的参数还是不行.google之, 查出原因如下.
junit不使用eclipse自身的jvm参数. 囧...
知道原因就好改了:
1 单独运行junit,在jvm参数里填加:-Xms128m -Xmx1024m (注:具体参数根据自身机器和需求来确定)
2 ant中单元测试: <junit maxmemory="1024m" printsummary="yes"
haltonfailure="no" fork="yes" forkmode="perBatch">
...
</junit>
(关键就是增加红色字体部分)
可以使用以下代码来查看内存状况:
public void testMemoryUsage() { Runtime runtime = Runtime.getRuntime(); NumberFormat format = NumberFormat.getInstance(); long mb = 1024*1024; StringBuilder sb = new StringBuilder(); long maxMemory = runtime.maxMemory(); long allocatedMemory = runtime.totalMemory(); long freeMemory = runtime.freeMemory(); long usedMemory = allocatedMemory - freeMemory; sb.append("free memory: " + format.format(freeMemory / mb) + "mb,"); sb.append(" allocated memory: " + format.format(allocatedMemory / mb) +"mb,"); sb.append(" max memory: " + format.format(maxMemory / mb) + "mb,"); sb.append(" used memory: " + format.format(usedMemory / mb) +"mb,"); sb.append(" total free memory: " + format.format((freeMemory + (maxMemory - allocatedMemory)) / mb) +" mb"); System.out.println("memory usage:-"+sb); System.gc(); }
相关推荐
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
"Java.lang.OutOfMemoryError: Java heap space 解决方法" Java.lang.OutOfMemoryError: Java heap space 是 Java 中的一个常见错误,它发生时,Java 虚拟机 (JVM) 无法分配对象,因为堆空间不足。下面是解决该问题...
### 编译时出现java.lang.OutOfMemoryError Java heap space异常 #### 一、问题概述 在进行Java项目编译的过程中,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这种异常。这类异常通常表明Java虚拟机...
### Myeclipse下java.lang.OutOfMemoryError: Java heap space的解决方案 在使用Myeclipse进行Java开发时,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这个错误提示。这种异常通常发生在应用程序占用...
Java程序在运行过程中可能会遇到各种异常,其中"nested exception is java.lang.OutOfMemoryError: Java heap space"是一个常见的问题,通常发生在程序试图分配超过堆内存限制的空间时。这个错误表明Java虚拟机(JVM...
Eclipse 中通过 Tomcat 运行 J2EE 项目 java.lang.OutOfMemoryError PermGen space 的解决方案 在 Eclipse 中通过 Tomcat 运行 J2EE 项目时,可能会出现 java.lang.OutOfMemoryError: PermGen space 异常,这是由于...
### Java.lang.OutOfMemoryError:Java Heap Space 错误及处理办法 在Java应用程序开发与维护过程中,经常会遇到`java.lang.OutOfMemoryError: Java heap space`这一异常情况。该异常通常表明Java虚拟机(JVM)的堆...
当程序创建的对象过多或单个对象占用内存过大时,如果没有足够的空闲内存来分配新对象,JVM就会抛出“OutOfMemoryError: Java heap space”错误。这可能是由于以下原因造成的: 1. **初始堆大小设置不当**:默认...
当Java应用程序尝试分配新的对象,但堆内存(Heap Space)不足以容纳这些对象时,就会抛出`java.lang.OutOfMemoryError: Java heap space`。此错误可能由以下几个原因引起: - 创建超大数据结构,如大数组。 - ...
Java 堆内存溢出是Java开发者经常遇到的问题,它表现为`java.lang.OutOfMemoryError:Java heap space`错误,通常发生在应用无法分配足够的内存来执行任务时。要理解和解决这个问题,我们需要深入探究Java内存管理...
Java程序在运行过程中可能会遇到内存不足的问题,表现为`java.lang.OutOfMemoryError: Java heap space`,这通常意味着Java虚拟机(JVM)的堆内存已耗尽,无法分配更多的空间给应用程序使用。堆内存是Java程序中用来...
PermSize 和 MaxPermSize 的设置应该根据实际情况进行调整,太小可能会导致 java.lang.OutOfMemoryError: PermGen space。 重启 Eclipse 后,该问题应该解决。 其他解决方法 除了修改 eclipse.ini 文件外,还可以...
其中最常见的异常之一就是`java.lang.OutOfMemoryError:Java heap space`。这类问题不仅会严重影响项目的进展,还可能降低系统的稳定性和性能。因此,了解如何处理此类异常至关重要。 #### 详解`java.lang....
- **错误现象1:java.lang.OutOfMemoryError: Java heap space** - 原因:Java虚拟机(JVM)分配的内存不足。 - 解决方法:通过修改mapred-site.xml文件,增大mapred.child.java.opts属性的值,以增加JVM堆内存。...
当堆内存不足时,可能会引发`java.lang.OutOfMemoryError: Java heap space`错误。 2. **栈内存**:每个线程都有自己的程序计数器、虚拟机栈和本地方法栈,用于存储方法调用过程中的局部变量、方法参数等。如果栈...
java.lang.OutOfMemoryError: Java heap space ``` 初步判断可能的原因有: 1. **JVM内存设置不当**: - 项目的实际需求超出默认的JVM内存设置。 2. **内存泄露**: - 程序中存在未被正确回收的内存。 #### 五、...
然而,在使用过程中,用户可能会遇到“eclipse内存溢出报错”的问题,这一现象通常表现为Java.lang.OutOfMemoryError: Java heap space错误,这主要源于Eclipse运行时分配给Java虚拟机(JVM)的内存不足,导致程序...
在使用Eclipse集成开发环境部署并运行基于Tomcat的应用程序时,经常会出现“java.lang.OutOfMemoryError: Java heap space”这类错误提示。这表明当前分配给Java虚拟机(JVM)的内存不足以支持程序正常运行,即发生...
java.lang.OutOfMemoryError”。此时,需要检查并增加JVM的可用内存资源。具体操作如下: 1. **查看当前配置**:首先查看当前JVM参数设置是否合理。 2. **调整JVM参数**:根据应用程序的实际需求调整JVM参数。 - ...