`

eclipse java.lang.OutOfMemoryError: Java heap space

 
阅读更多

运行环境: 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();
    }

 

0
0
分享到:
评论

相关推荐

    java错误处理:java.lang.OutOfMemoryError: Java heap space

    ### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....

    java.lang.OutOfMemoryError: Java heap space 解决方法

    "Java.lang.OutOfMemoryError: Java heap space 解决方法" Java.lang.OutOfMemoryError: Java heap space 是 Java 中的一个常见错误,它发生时,Java 虚拟机 (JVM) 无法分配对象,因为堆空间不足。下面是解决该问题...

    编译时出现java.lang.OutOfMemoryError Java heap space异常

    ### 编译时出现java.lang.OutOfMemoryError Java heap space异常 #### 一、问题概述 在进行Java项目编译的过程中,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这种异常。这类异常通常表明Java虚拟机...

    Myeclipse下java.lang.OutOfMemoryError Java heap space的解决

    ### 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程序在运行过程中可能会遇到各种异常,其中"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 的解决方案 在 Eclipse 中通过 Tomcat 运行 J2EE 项目时,可能会出现 java.lang.OutOfMemoryError: PermGen space 异常,这是由于...

    java[1].lang.OutOfMemoryError_Java_heap_space错误及处理办法

    ### Java.lang.OutOfMemoryError:Java Heap Space 错误及处理办法 在Java应用程序开发与维护过程中,经常会遇到`java.lang.OutOfMemoryError: Java heap space`这一异常情况。该异常通常表明Java虚拟机(JVM)的堆...

    解决Java_heap_space问题

    当程序创建的对象过多或单个对象占用内存过大时,如果没有足够的空闲内存来分配新对象,JVM就会抛出“OutOfMemoryError: Java heap space”错误。这可能是由于以下原因造成的: 1. **初始堆大小设置不当**:默认...

    系统稳定性——OutOfMemoryError常见原因及解决方法1

    当Java应用程序尝试分配新的对象,但堆内存(Heap Space)不足以容纳这些对象时,就会抛出`java.lang.OutOfMemoryError: Java heap space`。此错误可能由以下几个原因引起: - 创建超大数据结构,如大数组。 - ...

    Java 堆内存溢出原因分析

    Java 堆内存溢出是Java开发者经常遇到的问题,它表现为`java.lang.OutOfMemoryError:Java heap space`错误,通常发生在应用无法分配足够的内存来执行任务时。要理解和解决这个问题,我们需要深入探究Java内存管理...

    解决Java-heap-space问题.doc

    Java程序在运行过程中可能会遇到内存不足的问题,表现为`java.lang.OutOfMemoryError: Java heap space`,这通常意味着Java虚拟机(JVM)的堆内存已耗尽,无法分配更多的空间给应用程序使用。堆内存是Java程序中用来...

    eclipse_failed_to_create_the_java_virtual_machine_问题图文解析_收藏

    PermSize 和 MaxPermSize 的设置应该根据实际情况进行调整,太小可能会导致 java.lang.OutOfMemoryError: PermGen space。 重启 Eclipse 后,该问题应该解决。 其他解决方法 除了修改 eclipse.ini 文件外,还可以...

    系统内存不足引起异常的解决方法

    其中最常见的异常之一就是`java.lang.OutOfMemoryError:Java heap space`。这类问题不仅会严重影响项目的进展,还可能降低系统的稳定性和性能。因此,了解如何处理此类异常至关重要。 #### 详解`java.lang....

    Hadopp集群运用过程中碰到的问题

    - **错误现象1:java.lang.OutOfMemoryError: Java heap space** - 原因:Java虚拟机(JVM)分配的内存不足。 - 解决方法:通过修改mapred-site.xml文件,增大mapred.child.java.opts属性的值,以增加JVM堆内存。...

    某应用内存溢出(暨jvm)分析分享

    当堆内存不足时,可能会引发`java.lang.OutOfMemoryError: Java heap space`错误。 2. **栈内存**:每个线程都有自己的程序计数器、虚拟机栈和本地方法栈,用于存储方法调用过程中的局部变量、方法参数等。如果栈...

    java内存泄露、溢出检查方法和工具

    java.lang.OutOfMemoryError: Java heap space ``` 初步判断可能的原因有: 1. **JVM内存设置不当**: - 项目的实际需求超出默认的JVM内存设置。 2. **内存泄露**: - 程序中存在未被正确回收的内存。 #### 五、...

    eclipse内存溢出报错-解决办法

    然而,在使用过程中,用户可能会遇到“eclipse内存溢出报错”的问题,这一现象通常表现为Java.lang.OutOfMemoryError: Java heap space错误,这主要源于Eclipse运行时分配给Java虚拟机(JVM)的内存不足,导致程序...

    eclipse tomcat启动,内存溢出问题

    在使用Eclipse集成开发环境部署并运行基于Tomcat的应用程序时,经常会出现“java.lang.OutOfMemoryError: Java heap space”这类错误提示。这表明当前分配给Java虚拟机(JVM)的内存不足以支持程序正常运行,即发生...

    eclipse与tomcat的JVM设置

    java.lang.OutOfMemoryError”。此时,需要检查并增加JVM的可用内存资源。具体操作如下: 1. **查看当前配置**:首先查看当前JVM参数设置是否合理。 2. **调整JVM参数**:根据应用程序的实际需求调整JVM参数。 - ...

Global site tag (gtag.js) - Google Analytics