0
下面的情況會導致內存泄漏嗎?下面的情況會導致內存泄漏嗎?
案例1
在這裏,我沒有使用新的運營商,因此我不知道它是如何工作在Java中,當我們沒有用戶新的運營商做的object1分配對象2。
public void doSomething() {
String a1 = "Hello";
String a2;
while(true) {
a2 = a1;
}
}
案例2
這裏,
public void doSomething() {
String a1 = new String("Hello");
String a2;
while(true) {
a2 = new String(a1);
}
}
兩者都不會導致內存泄漏。第二個例子*可能會讓垃圾收集器很忙。 – shmosel
1)否,分配給另一個變量的引用不會分配更多的空間。 2)否,在循環的每次迭代中創建的新字符串只要在下一次迭代中重寫引用時就可以被垃圾回收。它會觸發許多GC運行,釋放空間,但它不是泄漏內存。 – Andreas