Uforanderlig streng i Java: Alt du trenger å vite



Denne artikkelen vil gi deg detaljert og omfattende kunnskap om uforanderlig streng i Java, hvorfor er det viktig?

Håndtere uforanderlig streng i er et veldig viktig aspekt i ethvert programmeringsspråk. I denne artikkelen vil vi diskutere følgende tips:

Introduksjon til uforanderlig streng i Java

Strengbassenget har strengobjekter som er bufret på grunn av hvilken streng som ikke kan formes. Flere klienter deler bufret strenglitteratur. Risikoen som er involvert i en klients handling vil påvirke alle de andre klientene.





For eksempel, når en klient endrer strengverdien 'Test' til 'TEST', vil alle andre klienter se den endrede verdien. Siden caching av strengobjekter var viktig for ytelsen, unngikk klassen Immutable String risikoen. Også, Strengen ble gjort endelig slik at den uendelige i String-klassen ikke blir kompromittert. Eksempel Uforanderlighet, hurtigbufring, beregning av hashkode utført ved utvidelse og overstyring av atferd.

Hashmap-nøkkel

HashMap-nøkkelen er veldig populær, uforanderlighet er veldig viktig, slik at verdiobjektet kan hentes fra HashMap. Hashing er prinsippet til HashMap, som krever at det samme har verdi for å fungere skikkelig. To forskjellige hashkoder produseres en på tidspunktet for innsetting og en annen på tidspunktet for henting når innholdet endres etter innsetting, noe som potensielt mister kartverdien på kartet.



fordeler og ulemper med hacking

Hashtable-uforanderlig streng i Java
Immutable String-klassen i Java er den hyppigst spurte .Diskusjonen starter med, hva er en streng, hvordan den er forskjellig fra streng i C ++, og så er spørsmålet følgende uforanderlige objekter i Java, fordelene med det uforanderlige objektet, hva er deres bruk og scenariene for å bruke dem.

Behov for uforanderlig streng i Java

To grunner er viktige for å si hvorfor Immutable String-klassen er laget i Java:

1. Det er ikke mulig i det hele tatt å ha ett strengobjekt / bokstavelig.



La oss referere til eksemplet nedenfor:

“Test” kan henvises med mange referansevariabler. Hvis noen av dem endrer verdien for andre, vil dette også bli påvirket. La oss se hvordan.

Streng A = 'Test'
Streng B = 'Test'


Streng A kalt 'Test' .toUpperCase () som endrer det samme objektet til,'TEST'så B vil også være 'TEST' som ikke er nødvendig. Nedenfor er et diagram som forteller oss hvordan String blir opprettet i heapminne og String literal pool.

2. Strengen hadde mye blitt brukt som en parameter for mange Java-klasser. For eksempel når vi åpner en nettverkstilkobling, kan vi sende vertsnavn og portnummer som en streng, for å åpne databasetilkobling kan vi sende databasens URL som en streng.


En uforanderlig streng vil føre til alvorlige sikkerhetstrusler. For eksempel kan noen få tilgang til en fil som han har tilgang til, og deretter endre navnet på filnavnet for å få tilgang til den andre filen. I tilfelle uforanderlighet, trenger du ikke bekymre deg for disse truslene.

En uforanderlig streng kan også trygt dele tråder, noe som er viktig for flertrådet programmering. En uforanderlig strengforekomst er trådsikker i Java, så du trenger ikke å synkronisere strengoperasjon eksternt for å unngå synkroniseringsproblemer i Java. Et annet viktig poeng å merke seg er minnelekkasjen forårsaket av Substring, som ikke er et trådrelatert problem, men noe å være klar over.

Med dette kommer vi til slutten av denne 'Immutable String in Java' -artikkelen. C pokker ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edurekas Java J2EE- og SOA-opplæring og sertifiseringskurs er designet for studenter og fagpersoner som ønsker å være Java-utvikler.

hva er forskjellen mellom hashmap og hashtable

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet på denne bloggen, så kommer vi tilbake til deg så snart som mulig.