我正在尝试将一大堆对象添加到db4o数据库中。看起来你必须为每一个创建一个新对象,因为如果我只是更新旧的值并再次存储它,它只会覆盖数据库中的记录,而我最终只能记录一条记录。所以这就是我的工作:
for (String o : d.students) {
Student stu1 = new Student(o);
db.store(stu1);
stu = null;
}
我的问题显然是我没有对刚刚存储的对象做任何事情,只是重新分配指针。我知道Java的垃圾收集应该只关注所有事情,但我也知道Java已经知道它是漏洞的,所以如果有更安全的方法可以解决这个问题,我宁愿这样做。
提前非常感谢!
答案 0 :(得分:2)
我认为你的断言“Java以泄漏而闻名”充其量是错误的。
只需在循环范围内分配变量就足以在循环外触发它的集合,假设db
组件不能保存该引用。在上面将变量设置为null
是不必要的优化。