Esta es una pregunta que me formularon recientemente en mi entrevista: ¿Qué objeto (s) 'aleatorio' se recopilarían durante la llamada 'GC.Collect()'?¿Cuáles de estos objetos son elegibles para la recolección de basura?
String a = new Random().Next(0, 1) ==1 ? "Whatever 1" : "Whatever 2";
String b = new WeakReference(new Random()).Target.Next(0, 1) == 1 ?
"Whatever 1" : "Whatever 2";
GC.Collect();
Respondí que se trata de una cuestión específica de la implementación y depende en gran medida de la aplicación GC
y las correspondientes semántica de referencia débiles. Hasta donde yo sé, la especificación C# no proporciona una descripción exacta de lo que GC.Collect
debería hacer y cómo deberían manejarse las referencias débiles.
Sin embargo, mi entrevistador quería escuchar algo más.
Fuiste muy educado. Mi respuesta sería si hay algo terriblemente mal ... –
sería genial si la etiqueta 'Java' también se agrega a esta pregunta. – Bhushan