In Java esiste una struttura dati chiamata WeakHashMap che memorizza i riferimenti deboli come chiavi. Ogni volta che i riferimenti deboli vengono tolti dalla memoria, la voce viene rimossa dalla mappa.Java: Stack con riferimenti deboli
Se si dispone di una struttura dati come una pila o un set in cui sono memorizzati riferimenti deboli, le relative voci verranno automaticamente rimosse quando il riferimento debole viene estratto dalla memoria?
Di seguito è riportato un esempio di stack che memorizza riferimenti deboli.
Stack<WeakReference<Object>> objStack = new Stack<WeakReference<Object>>();
Uh, sì ... ... – esej
Sei sicuro che non restituirà un valore nullo? – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
Se stai pensando di utilizzare riferimenti deboli per un'applicazione reale, ti preghiamo di non farlo **! Le persone che costruiscono la libreria principale si pentono di aggiungerle poiché non offrono alcun vantaggio. Guarda questa [presentazione] (http://www.infoq.com/presentations/Extreme-Performance-Java) se sei interessato. – Augusto