我对 Scala 比较陌生。
如果我有这样的构造,
sampleFile.map(line => line.map {
var myObj = new MyClass(word);
myObj.func();
})
我创建一个对象MyClass
并在类方法(func()
)中做一些事情。我对文件中的所有行重复此操作(通过map
)。因此,我在迭代的每一步(对于每一行)都创建了一个对象。当我开始下一次迭代时,范围myObj
将是无效的(它们会在块结束时被销毁,还是会在内存中被孤立?)。我的疑问是垃圾收集何时触发?此外,在迭代的每一步都创建一个对象是否昂贵?当行数增加到 100 万行时,这对性能有什么影响吗?