查看内存状况 Runtime runtime = Runtime.getRuntime();

本文介绍了如何在Java中查看内存状况,包括通过JVM参数设置内存大小,以及使用Runtime类进行内存检查。当遇到`OutOfMemoryError: Java heap space`错误时,可以使用提供的代码段来检查当前的内存使用情况,包括免费、已用、已分配和最大内存。此外,还提到了在JUnit测试和Ant构建中如何设置内存限制。
摘要由CSDN通过智能技术生成

一、junit不使用eclipse自身的jvm参数

       知道原因就好改了:

      1    单独运行junit,在jvm参数里填加:-Xms128m -Xmx1024m  (注:具体参数根据自身机器和需求来确定)

      2    ant中单元测试:  <junit maxmemory="1024m" printsummary="yes"

                                 haltonfailure="no" fork="yes" forkmode="perBatch">

                                  ...

                               </junit>

       3    可以使用以下代码来查看内存状况(outOfMemoryError:Java heap space):

       public static 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,\r\n");

            sb.append("used memory: " + format.format(usedMemory / mb) +"mb,\r\n");  

            sb.append("allocated memory: " + format.format(allocatedMemory / mb) +"mb,\r\n");  

            sb.append("max memory: " + format.format(maxMemory / mb) + "mb,\r\n");  

            sb.append("total free memory: " + format.format((freeMemory + (maxMemory - allocatedMemory)) / mb) +" mb"); 

            System.out.println("memory usage:\r\n"+sb); 

            System.gc();  

        }

        代码执行结果:


  
 
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值