Un patrón estándar utilizado en la biblioteca de clases de Scala es la definición de clases dentro de clases y rasgos. Y la mayoría de las operaciones de los objetos de las clases principales dan como resultado la creación de objetos de esas clases internas. Cada clase interna es diferente para cada objeto.Efecto de las definiciones de clase de Scala en el espacio generador de perm
p. Ej. Ver fuente para scala.io.Source y LineIterator. Creo que este es el más simple en la biblioteca estándar.
Como los documentos sugieren a continuación son dos clases diferentes.
val s1:Source = ...
val s2:Source = ...
s1.getLines.getClass != s2.getLines.getClass //true if s1 != s2
Se crean dos clases.
Como toda la biblioteca de colecciones utiliza el mismo patrón, ¿cuáles son los efectos sobre el espacio permgen para procesos de larga ejecución?