我對斯卡拉比較陌生。斯卡拉垃圾收集?
如果我有這樣的結構,
sampleFile.map(line => line.map {
var myObj = new MyClass(word);
myObj.func();
})
我創建的MyClass
對象,做一個類的方法(func()
)裏面的東西。我對文件中的所有行重複此操作(通過map
)。所以,我在迭代的每一步(爲每一行)創建一個對象。當我開始下一次迭代時,myObj
的作用域將會失效(它們會在塊的末尾被銷燬,還是會在內存中被孤立出來?)。我懷疑是垃圾收集何時觸發?另外,在迭代的每一步創建一個對象是否昂貴?當行數增加到100萬時,這是否有任何性能影響?
不完全。在由Function對象表示的Scala中有一種語言方面 - 匿名函數,並且它被分配的方式(一次或每次迭代都會影響性能)。 –