Java解构器

Dot*_*Net -2 java memory-leaks memory-management

如何将对象及其所有数据结构使用的内存回收到我的应用程序内存中,如果没有System.gc()它只建议不必执行内存检查.这还包括像finalize.

换句话说,假设我有一个HashMap,我希望它存储的所有数据都从内存中删除.我通常用clean方法清理这种类型的集合或将其附加到null但是似乎没有将内存空间返回给应用程序?

编辑:

让我们说以下内容:

    TIntObjectHashMap<byte[]> map=new TIntObjectHashMap<byte[]>();
    //fill the map with 20GB
    map.clear();
   //Or map=null;
Run Code Online (Sandbox Code Playgroud)

20GB不应该免费吗?就是那个问题.

Jon*_*eet 9

基本上,你不能.没有什么可以做的绝对强制垃圾收集,你当然不能手动删除一个对象.

学会爱和信任垃圾收集器.

  • +1为`学会爱和信任垃圾收集器.:) (5认同)
  • 你有*证据表明它会有问题吗?Java广泛用于大型项目中.有一些方法可以调整垃圾收集,但即使它们通常也不需要 - 默认值非常合理. (3认同)