Cos'è un riferimento morbido?

Nel linguaggio di codifica Java®, i riferimenti vengono costantemente fatti a oggetti, stringhe e variabili, anche se il programmatore non è a conoscenza di tali riferimenti. Questi riferimenti comunicano direttamente con il Garbage Collector, una funzione che raccoglie informazioni non necessarie e le getta via in modo che non occupino più la memoria. Per impostazione predefinita, tutti i riferimenti sono riferimenti forti e sono impostati senza alcuna codifica, il che significa che non vengono rilasciati al Garbage Collector. Un riferimento soft consente di gettare via i dati. È il riferimento di medio livello per tutti i riferimenti non forte.

Ogni volta che un programmatore fa qualsiasi cosa con Java®, sia semplice come fare una stringa o creare funzioni complesse, viene fatto un riferimento. Il programmatore non deve scrivere un comando di riferimento; Il riferimento viene fatto automaticamente ed è, per impostazione predefinita, un forte riferimento. Ciò significa che i dati dal riferimento non possono essere gettati via, perché sono collegati agli oggetti integrali necessari per l'intero script.

AlcuniI dati devono essere buttati via, tuttavia, perché altrimenti assumono molta memoria. Ad esempio, se un programmatore crea uno script in cui vengono utilizzati i numeri di serie o vengono raccolti o creati altri pezzi temporanei, trattenere queste informazioni diventa dannoso. Il programma Java® rifiuterebbe di buttare via le informazioni, anche quando non è necessario, e la sceneggiatura avrebbe bisogno di sempre più memoria per funzionare.

Specificando una stringa o una sezione come un riferimento soft, che deve essere inserito nella codifica, questo dice al collettore della spazzatura che i dati possono essere rilasciati. Una volta rilasciata, la stringa o la sezione leggerà come "null". Il collettore della spazzatura, a seconda della sua impostazione, deciderà quando i dati dovrebbero essere buttati fuori.

Ci sono tre riferimenti non diffusi: riferimento morbido, riferimento debole e riferimento fantasma. Il riferimento debole è il più debole e i suoi dati vengono lanciativia rapidamente. I riferimenti soft, che sono i migliori per gli script in cui i dati temporanei possono essere utilizzati più volte, sono i prossimi in linea. Un riferimento fantasma viene gettato via quasi automaticamente, entro un secondo, e dovrebbe essere usato con parsimonia.

Il periodo di tempo rimane un riferimento morbido di solito dipende dalla quantità di memoria nel computer. Se la memoria è piena, il collezionista di immondizia distruggerà prima tutti i riferimenti deboli. Quando tutti i riferimenti deboli sono spariti e se la memoria deve ancora eliminare i dati, i riferimenti soft verranno lanciati in seguito.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?