以下是一个使用弱引用来避免内存泄漏的示例代码:
import java.lang.ref.WeakReference;
public class MemoryLeakExample {
public static void main(String[] args) {
// 创建一个弱引用对象
WeakReference weakReference = new WeakReference<>(new MyObject());
// 使用弱引用对象
MyObject myObject = weakReference.get();
if (myObject != null) {
// 执行操作
myObject.doSomething();
}
}
}
class MyObject {
public void doSomething() {
// 执行操作
}
}
以下是一个使用迭代器遍历集合的示例代码:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ConcurrentModificationExample {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("item1");
list.add("item2");
list.add("item3");
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (item.equals("item2")) {
// 删除集合中的元素,不会抛出ConcurrentModificationException异常
iterator.remove();
}
}
}
}
注意:以上的解决方法仅供参考,具体的解决方案应根据实际情况进行选择和调整。