我有一个server 和client 方式的应用,client端运行一段时间就会死机,我检查了一下JVM的内存使用情况,我发现有一个数据类型,每当我做一些操作,他的实例个数就成倍的增加,而且占用内存越来越多,我怎么才能把这些内存释放回来。这个数据类型是 java 的table sorter, 我该怎么检查代码呢,谢谢大家

解决方案 »

  1.   

    查一下你的table类是如何写的
      

  2.   

    我知道System.gc()是可以强制垃圾回收的,但是好像不怎么管用……JVM不到内存不够用的时候是不会进行垃圾回收的
      

  3.   

    System.gc()强制执行好像也没什么用,我发现了个很好用的工具 Oracle JRocket Mission Control, 这个工具可以很好的行进内存使用率检查,还能帮你找到泄漏的数据类型。我最后终于找到了。Sorter Table 再次使用的时候clearState(); 清理一下状态就好了。谢谢大家。