Java:在List上调用clear()会立即释放内存吗?

Zom*_*ies 2 java performance

哪会更快地清理内存:

鉴于我们有一个链表,在本例中是ArrayList,但随意为其他列表解释:

ArrayList<String> list = ...10000 elements
Run Code Online (Sandbox Code Playgroud)

要么A)

list.clear();
System.gc();
Run Code Online (Sandbox Code Playgroud)

或者B)

list = null;
System.gc();
Run Code Online (Sandbox Code Playgroud)

Boz*_*zho 6

不,它不会立即释放内存.你不能这样做.

垃圾收集器运行后,内存将被释放.但你不能强迫它运行.您只能向JVM建议应该运行垃圾收集器,但绝不是强制这样做.

  • 不,你不能.;) (2认同)