在Java中分配给字符串缓冲区的内存未清除

时间:2018-12-04 06:05:27

标签: java jvm

分配给字符串缓冲区的内存甚至都没有清除

stringbuffer.delete(0,Stringbuffer.length());
stringbuffer = null;
System.gc();

任何建议删除分配给字符串缓冲区的整个内存。

1 个答案:

答案 0 :(得分:1)

您无法控制Java内存管理。即使调用System.gc()。通过调用System.gc(),您只能建议JVM收集垃圾,而不能强制释放内存 Java将仅根据其算法收集垃圾内存

System.gc() javadoc说

  

调用gc方法表明Java虚拟机已消耗   努力回收未使用的对象以制造内存   它们目前可用于快速重用。控制权返回时   从方法调用来看,Java虚拟机已尽力而为   从所有丢弃的对象中回收空间。

来源:-System.gc()