Cadena immutable a Java: tot el que heu de saber

Aquest article us proporcionarà un coneixement detallat i exhaustiu de la cadena immutable a Java, per què és important?

Tractament de la corda immutable a és un aspecte molt important en qualsevol llenguatge de programació. En aquest article, parlarem dels consells següents:

què és l’herència múltiple a Java

Introducció a la cadena immutable a Java

L'agrupació de cadenes té objectes de cadena que s'emmagatzemen a la memòria cau a causa dels quals la cadena és immutable. Diversos clients comparteixen els literals de la cadena a la memòria cau. Els riscos que comporta l'acció d'un client afectarien la resta de clients.





Per exemple, quan un client canvia el valor de la cadena 'Prova' a 'TEST', la resta de clients veuran el valor canviat. Com que la memòria cau d’objectes de cadena era important per al rendiment, la classe de cadena immutable va evitar el risc. A més, La cadena es va fer definitiva de manera que la invariant de la classe String no es veuria compromesa. Exemple Immutabilitat, Memòria cau, càlcul de codi hash fet per extensió i anul·lació de comportaments.

Tecla Hashmap

La clau HashMap és molt popular, la immutabilitat és molt important perquè es pugui recuperar l'objecte de valor de HashMap. Hashing és el principi de HashMap, que requereix que el mateix tingui un valor per funcionar correctament. Es produeixen dos codis de resum diferents, un en el moment de la inserció i un altre en el moment de la recuperació, quan es modifica el contingut després de la inserció, perdent potencialment l'objecte de valor del mapa al mapa.



Cadena Hashtable-Immutable a Java
La classe de cadena immutable de Java és la que es fa més sovint .La discussió comença per, què és una cadena, com és diferent de la cadena en C ++ i, a continuació, la següent pregunta són objectes immutables a Java, avantatges de l'objecte immutable, quin és el seu ús i els escenaris per utilitzar-los.

Necessitat de cadena immutable a Java

Dues raons són importants per dir per què la classe Immutable String es fa a Java:

1. No és possible en cap cas tenir un objecte / literal de cadena.



Vegem l'exemple següent:

La 'prova' es pot referir mitjançant moltes variables de referència. Si algun d'ells canvia el valor per a altres, això també es veurà afectat. Vegem com.

Cadena A = 'Prova'
Cadena B = 'Prova'


La cadena A es diu 'Test' .toUpperCase () que canvia el mateix objecte en,'PROVA'de manera que B també serà 'TEST' que no cal. A continuació es mostra un diagrama que ens explica com es crea la cadena a la memòria heap i a l'agrupació literal de cadenes.

menú desplegable a angularjs

2. La cadena s'ha utilitzat àmpliament com a paràmetre per a moltes classes de Java. Per exemple, quan obrim una connexió de xarxa, podem passar el nom d’amfitrió i el número de port com una cadena, per obrir la connexió de base de dades podem passar l’URL de la base de dades com una cadena.


Una cadena immutable comportaria greus amenaces a la seguretat. Per exemple, algú pot accedir a un fitxer, al qual té accés i, a continuació, canviar el nom del fitxer per accedir a l’altre fitxer. En cas d’immutabilitat, no cal preocupar-se per aquestes amenaces.

quines són les restriccions en sql

Una cadena immutable també pot compartir fils de manera segura, cosa que és important per a la programació de diversos fils. Una instància de cadena immutable és segura per a fils a Java, de manera que no cal sincronitzar l'operació de cadena externament per evitar problemes de sincronització a Java. Un altre punt important a destacar és la pèrdua de memòria causada per Substring, que no és un tema relacionat amb el fil, sinó que cal tenir en compte.

Amb això, arribem al final d’aquest article de “Immutable String in Java”. C fes un cop d'ull al per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.