Nespremenljiv niz v Javi: vse, kar morate vedeti



V tem članku boste našli podrobno in celovito znanje o nespremenljivem nizu v Javi. Zakaj je to pomembno?

Obravnavanje nespremenljivega niza v je zelo pomemben vidik v katerem koli programskem jeziku. V tem članku bomo obravnavali naslednje napotke:

Uvod v nespremenljivi niz v Javi

V območju nizov so predmeti nizov, ki so predpomnjeni, zaradi česar je niz nespremenljiv. Več odjemalcev si deli predpomnjene literalne nize. Tveganja, povezana z dejanjem ene stranke, bi vplivala na vse druge stranke.





Na primer, ko odjemalec spremeni vrednost niza »Test« v »TEST«, bodo vsi ostali odjemalci videli spremenjeno vrednost. Ker je bilo predpomnjenje nizov predmetov pomembno za delovanje, se je razred Immutable String izognil tveganju. Prav tako String je bil dokončen, tako da invarianta razreda String ne bo ogrožena. Primer Nespremenljivost, predpomnjenje, izračun hash kode, izveden s podaljšanjem in razveljavitvijo vedenj.

Hashmap ključ

Ključ HashMap je zelo priljubljen, nespremenljivost je zelo pomembna, da je mogoče predmet vrednosti pridobiti iz HashMap. Hashing je načelo HashMap, ki zahteva, da ima enaka vrednost za pravilno delovanje. Dve različni hashcode sta izdelani ena v času vstavljanja in druga v času iskanja, ko se vsebina po vstavitvi spremeni, kar lahko izgubi objekt vrednosti zemljevida na zemljevidu.



Hashtable-Immutable String v Javi
V Javi je najpogostejši razred nespremenljivega niza .Razprava se začne s tem, kaj je String, v čem se razlikuje od Stringa v jeziku C ++, nato pa sledi vprašanje nespremenljivi predmeti v Javi, prednosti nespremenljivega predmeta, kakšna je njihova uporaba in scenariji njihove uporabe.

Potreba po nespremenljivem nizu v Javi

Dva razloga sta pomembna za to, da je v Javi narejen razred Immutable String:

1. V tem primeru sploh ni mogoče imeti enega predmeta / dobesednega niza.



Oglejmo si spodnji primer:

Številne referenčne spremenljivke se lahko sklicujejo na 'test'. Če kdo od njih spremeni vrednost za druge, bo to vplivalo tudi na to. Poglejmo, kako.

Niz A = 'Test'
Niz B = 'Test'


String A, imenovan 'Test' .toUpperCase (), ki spremeni isti predmet v,'TEST'tako da bo B tudi 'TEST', kar ni potrebno. Spodaj je diagram, ki nam pove, kako je String ustvarjen v pomnilniku kopice in Stral literal pool.

2. Niz je bil pogosto uporabljen kot parameter za številne razrede Java. Na primer, ko odpremo omrežno povezavo, lahko kot niz posredujemo ime gostitelja in številko vrat, za odpiranje povezave z bazo podatkov pa lahko URL baze podatkov posredujemo kot niz.


Nespremenljiv niz bi povzročil resne grožnje varnosti. Na primer, nekdo lahko dostopi do datoteke, do katere ima dostop, in nato spremeni ime imena datoteke, da pridobi dostop do druge datoteke. V primeru nespremenljivosti teh groženj ni treba skrbeti.

Nespremenljiv niz lahko varno deli tudi niti, kar je pomembno za večnitno programiranje. Nespremenljiv primerek niza je v Javi varen z nitmi, zato ni treba sinhronizirati delovanja niza navzven, da se izognete težavam s sinhronizacijo v Javi. Druga pomembna točka, ki jo je treba omeniti, je uhajanje pomnilnika, ki ga povzroča Substring, kar ni vprašanje, povezano z nitjo, ampak nekaj, na kar je treba biti pozoren.

kaj pomeni __init__ v pythonu

S tem smo prišli do konca tega članka »Nespremenljiv niz v Javi«. C poglej Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je namenjen študentom in strokovnjakom, ki želijo biti razvijalec Java.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje tega spletnega dnevnika, mi pa se vam bomo javili v najkrajšem možnem času.