据说是看出是否回收的命令?

解决方案 »

  1.   

    网上的一个例子class TestGC
    {
     public static void main(String[] args)
     {
      new TestGC();
      System.gc();
      System.runFinalization();
     }
    }
    在这个例子中,一个新的对象被创建,由于它没有使用,所以该对象迅速地变为可达,程序编译后,执行命令: java -verbosegc TestGC 后结果为:
    [Full GC 168K->97K(1984K), 0.0253873 secs]机器的环境为,Windows 2000 + JDK1.3.1,箭头前后的数据168K和97K分别表示垃圾收集GC前后所有存活对象使用的内存容量,说明有168K-97K=71K的对象容量被回收,括号内的数据1984K为堆内存的总容量,收集所需要的时间是0.0253873秒(这个时间在每次执行的时候会有所不同)。
      

  2.   

    我用了下,并不是每个含有main的class出现时间,什么的
      

  3.   

    在命令行中有一个参数-verbosegc可以查看Java使用的堆内存的情况,它的格式如下:java -verbosegc classfile  可以看个例子:class TestGC 
    {
     public static void main(String[] args) 
     {
      new TestGC();
      System.gc();
      System.runFinalization();
     }
    }   在这个例子中,一个新的对象被创建,由于它没有使用,所以该对象迅速地变为可达,程序编译后,执行命令: java -verbosegc TestGC 后结果为:[Full GC 168K->97K(1984K), 0.0253873 secs]