Stringa immutabile in Java: tutto ciò che devi sapere

Questo articolo ti fornirà una conoscenza dettagliata e completa della stringa immutabile in Java, perché è importante?

Trattare con Immutable String in è un aspetto molto importante in qualsiasi linguaggio di programmazione. In questo articolo, discuteremo i seguenti suggerimenti:



Introduzione alla stringa immutabile in Java

Il pool di stringhe ha oggetti stringa che vengono memorizzati nella cache a causa dei quali la stringa non è modificabile. Più client condividono i valori letterali di stringa memorizzati nella cache. I rischi coinvolti nell'azione di un cliente interesserebbero tutti gli altri clienti.



Ad esempio, quando un client cambia il valore della stringa 'Test' in 'TEST', tutti gli altri client vedranno il valore modificato. Poiché la memorizzazione nella cache degli oggetti stringa era importante per le prestazioni, la classe String immutabile ha evitato il rischio. Anche, String è stato reso finale in modo che l'invariante della classe String non venga compromessa. Esempio Immutabilità, memorizzazione nella cache, calcolo del codice hash eseguito per estensione e sovrascrittura dei comportamenti.

Hashmap Key

La chiave HashMap è molto popolare, l'immutabilità è molto importante in modo che l'oggetto valore possa essere recuperato da HashMap. Hashing è il principio di HashMap, che richiede lo stesso valore per funzionare correttamente. Vengono prodotti due codici hash diversi uno al momento dell'inserimento e l'altro al momento del recupero quando i contenuti vengono modificati dopo l'inserimento, perdendo potenzialmente l'oggetto del valore della mappa nella mappa.



Stringa Hashtable-Immutable in Java
La classe String immutabile in Java è la più richiesta .La discussione inizia con cos'è una stringa, come è diversa da una stringa in C ++, e poi la domanda che segue sono gli oggetti immutabili in Java, i vantaggi dell'oggetto immutabile, qual è il loro uso e gli scenari per usarli.

Necessità di stringa immutabile in Java

Due ragioni sono importanti per dire perché la classe Immutable String è realizzata in Java:

1. Non è affatto possibile nel caso avere un oggetto stringa / letterale.



è meglio di kotlin di java

Facciamo riferimento all'esempio seguente:

'Test' può essere riferito da molte variabili di riferimento. Se qualcuno di loro cambia il valore per gli altri, anche questo verrà influenzato. Vediamo come.

Stringa A = 'Test'
Stringa B = 'Test'


Stringa A chiamata, 'Test' .toUpperCase () che cambia lo stesso oggetto in,'TEST'quindi B sarà anche 'TEST' che non è necessario. Di seguito è riportato un diagramma che indica come viene creata la stringa nella memoria heap e nel pool letterale della stringa.

2. La stringa era stata ampiamente utilizzata come parametro per molte classi Java. Ad esempio, quando apriamo una connessione di rete, possiamo passare il nome host e il numero di porta come una stringa, per l'apertura della connessione al database possiamo passare l'URL del database come una stringa.


Una stringa immutabile porterebbe a gravi minacce alla sicurezza. Ad esempio, qualcuno può accedere a un file a cui ha accesso e quindi modificare il nome del nome del file per ottenere l'accesso all'altro file. Nel caso dell'immutabilità, non c'è bisogno di preoccuparsi di queste minacce.

qual è la procedura in sql

Una stringa immutabile può condividere in sicurezza anche i thread, il che è importante per la programmazione multithread. Un'istanza di stringa immutabile è thread-safe in Java, quindi non è necessario sincronizzare esternamente l'operazione String per evitare problemi di sincronizzazione in Java. Un altro punto importante da notare è la perdita di memoria causata da Substring, che non è un problema relativo al thread ma qualcosa di cui essere consapevoli.

Con questo, arriviamo alla fine di questo articolo 'Immutable String in Java'. C diamine il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog e ti risponderemo il prima possibile.