Skip to main content

Cos'è un riferimento morbido?

in Java Lingua di codifica, riferimenti 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 del riferimento non possono essere gettati via, perché sono collegati agli oggetti integrali necessari per l'intero script.

Alcuni 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.The Java Il programma rifiuterebbe di buttare via le informazioni, anche quando non è necessario, e lo script avrebbe bisogno di sempre più memoria per funzionare.

specificando una stringa o una sezione come un riferimento soft, che deve essere inserito nella codifica, questoDice al Garbage Collector 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 devono essere buttati fuori.

Esistono tre riferimenti non diffusi: riferimento morbido, riferimento debole e riferimento fantasma.Il riferimento debole è il più debole e i suoi dati vengono gettati 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.