Ich kann die Implementierung einiger Operationen für die unveränderlichen Scala-Sequenzen nicht herausfinden. Ich werde das als ein Beispiel verwenden:Wie funktioniert das Speichermanagement für Scala Collections?
def example: List[Int] = {
val list0 = List.range(1,10)
list0.tail
}
Sobald die Funktion beendet ist, ist die Ausführung von list0 jetzt nicht mehr möglich. Würde der Kopf von list0 aus dem Speicher entfernt werden, oder würde list0 gleich bleiben, bis die gesamte Liste von Garbage Collection gesammelt wird?
Scala verwendet Garbage Collector wie Java. Also wird diese Liste aus dem Speicher entfernt, wenn gc von jvm erneut gestartet wird und erkennen, dass dieses Objekt gesammelt werden kann. – Everv0id