Vas*_*ant 3 java garbage-collection memory-management
我有两个函数,一个是insert(),另一个是startGC().
我将首先调用insert()方法,这将占用大约300MB的堆空间.之后,我将调用startGC(),它应释放在堆中分配的内存,因为所有向量对象都是函数的本地对象,但它没有发生.
private void insert()
{
Vector v=new Vector();
Vector v1=new Vector();
Vector v2=new Vector();
String str="Hello";
for (long i = 0L; i < 999999L; i++) {
v.add(str + i);
v1.add(str + i);
v2.add(str + i);
}
v=null;
v1=null;
v2=null;
}
private void startGC()
{
System.gc();
}
Run Code Online (Sandbox Code Playgroud)
我的问题:
1)为什么垃圾收集在这个例子中不起作用.
2)如何使JVM垃圾收集所有未使用的内存块.
任何代码示例都实现相同.