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

一、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();  

        }

        代码执行结果:


  
 
    

猜你喜欢

转载自526245263.iteye.com/blog/2273685
今日推荐