0

嗨,我对 java 编码很陌生,我目前正在制作一个应用程序,但我遇到了这个问题:

GC_CONCURRENT freed 1151K, 19% free 5594K/6868K, paused 4ms+5ms, total 86ms

我做了一些搜索,发现我必须做垃圾收集,有人可以告诉我垃圾收集是如何工作的。例如,一个对象什么时候有资格进行垃圾收集,请告诉我是否有办法强制它。

我使用了分配跟踪器,它说 []byte 分配得最多。请帮助我,如果我不解决它,我看不到自己在编程方面的进步。

编辑:有人可以帮我解决我的 GC_CONCURRENT 错误,我不知道如何解决它。

4

3 回答 3

0

Java 具有自动垃圾收集功能。您不需要管理它,但可以节省应用程序的高性能。

有时您可以使用finalize()- 方法帮助进行垃圾收集。

每次在 Java 中创建对象时,它都会进入称为堆的内存区域。Java 堆称为垃圾收集堆。不能强制进行垃圾收集。垃圾收集器在内存不足的情况下运行。当它运行时,它会释放一个无法访问的对象分配的内存。垃圾收集器在低优先级守护程序(即后台)线程上运行。你可以很好地要求垃圾收集器通过调用来收集垃圾,System.gc()你不能强制它

于 2013-08-14T17:57:25.830 回答
0

垃圾收集通常不是您需要担心的事情,但您应该知道它正在发生。有一个线程(垃圾收集器)不断监视您的应用程序。当没有对它的引用时,一个对象成为合格的。不要担心强制垃圾收集,担心不会留下对你不需要的对象的引用。设置对 null 的引用。

如果您遇到内存错误,可能是因为您正在处理大量数据或存在某种无限回溯问题。

于 2013-08-14T18:01:34.880 回答
-5
System.gc();

将强制垃圾收集

http://docs.oracle.com/javase/6/docs/api/java/lang/System.html Javadoc 说

static void gc() 
          Runs the garbage collector.
于 2013-08-14T17:59:05.433 回答