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不应该免费吗?就是那个问题.
基本上,你不能.没有什么可以做的绝对强制垃圾收集,你当然不能手动删除一个对象.
学会爱和信任垃圾收集器.