Questa è una domanda che mi è stata posta recentemente durante la mia intervista: Quali oggetti "casuali" sono stati raccolti durante la chiamata "GC.Collect()"?Quali di questi oggetti sono idonei per la garbage collection?
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();
ho risposto che questa è una domanda specifica dell'implementazione e dipende molto dalla GC
attuazione ed i corrispondenti riferimenti semantici deboli. Per quanto ne so, le specifiche C# non forniscono una descrizione esatta di cosa dovrebbe fare GC.Collect
e come devono essere gestiti i riferimenti deboli.
Tuttavia, il mio intervistatore voleva sentire qualcos'altro.
Sei stato troppo educato. La mia risposta sarebbe se ci fosse qualcosa di terribilmente sbagliato ... –
sarebbe bello se anche il tag 'Java' fosse aggiunto a questa domanda. – Bhushan