嗨,我对java编码非常陌生,我目前正在开发一个应用程序,但是我遇到了这个问题:
GC_CONCURRENT freed 1151K, 19% free 5594K/6868K, paused 4ms+5ms, total 86ms我做了一些搜索,发现我必须做垃圾收集,谁能告诉我如何垃圾收集工作。例如,一个对象什么时候才有资格进行垃圾收集,请告诉我是否有办法强制它。
我使用了分配跟踪器,它说[]字节分配最多。请帮助我,如果我不解决它,我看不出自己在编程上有什么进步。
编辑:有人能帮我解决我的GC_CONCURRENT错误,我不知道如何解决它。
发布于 2013-08-14 17:57:25
Java具有自动垃圾收集功能。您不需要管理它,但需要保存应用程序的高性能。
有时,您可以在垃圾收集中使用finalize() -方法帮助。
每次用Java创建对象时,都会进入称为堆的内存区域。Java堆称为垃圾回收堆。无法强制进行垃圾收集。垃圾收集器在低内存情况下运行。当它运行时,它释放由不可访问对象分配的内存。垃圾收集器运行在一个低优先级守护进程(即后台)线程上。您可以通过调用System.gc()来很好地要求垃圾收集器收集垃圾,但是不能强制它使用。
发布于 2013-08-14 18:01:34
一般情况下,垃圾收集不是你要担心的事情,但你应该知道它正在发生。有一个线程(垃圾收集器)不断监视您的应用程序。当没有对对象的引用时,对象就有资格了。不要担心强制垃圾收集,担心不会留下对不需要的对象的引用。将引用设置为空。
如果你有内存错误,那可能是因为你处理了大量的数据,或者有某种无限的回溯问题。
发布于 2013-08-14 17:59:05
System.gc();将强制垃圾收集
http://docs.oracle.com/javase/6/docs/api/java/lang/System.html Javadoc说
static void gc()
Runs the garbage collector.https://stackoverflow.com/questions/18238874
复制相似问题