Nepromjenjivi niz u Javi: sve što trebate znati

Ovaj će vam članak pružiti detaljno i sveobuhvatno znanje o nepromjenjivom nizu u Javi, zašto je to važno?

Suočavanje s nepromjenjivim nizom u je vrlo važan aspekt u bilo kojem programskom jeziku. U ovom ćemo članku razgovarati o sljedećim uputama:

Uvod u Nepromjenjivi niz u Javi

U spremištu nizova nalaze se objekti niza koji su predmemorirani zbog čega je niz nepromjenjiv. Više klijenata dijeli predmemorirane literalne nizove. Rizici povezani s postupkom jednog klijenta utjecali bi na sve ostale klijente.



Na primjer, kada klijent promijeni vrijednost niza 'Test' u 'TEST', svi ostali klijenti vidjet će promijenjenu vrijednost. Kako je predmemoriranje objekata niza važno za izvedbu, klasa Nepromjenjivi niz izbjegava rizik. Također, String je konačan tako da invarijant klase String neće biti ugrožen. Primjer Nepromjenjivost, Keširanje, izračun hash koda izveden proširenjem i nadjačavanjem ponašanja.

Hashmap ključ

Ključ HashMap vrlo je popularan, nepromjenjivost je vrlo važna kako bi se objekt vrijednosti mogao dohvatiti iz HashMap-a. Raspršivanje je princip HashMap-a, koji zahtijeva da isti ima vrijednost za pravilno funkcioniranje. Izrađuju se dva različita hashkodova, jedan u vrijeme umetanja, a drugi u trenutku dohvata kada se sadržaj mijenja nakon umetanja, potencijalno gubeći objekt vrijednosti karte na karti.

što su grah u javi

Hashtable-nepromjenjivi niz u Javi
Nepromjenjiva klasa niza u Javi je najčešće postavljana .Rasprava započinje s tim što je String, po čemu se razlikuje od Stringa na C ++-u, a zatim slijedi pitanje nepromjenjivi objekti u Javi, prednosti nepromjenjivog objekta, kakva je njihova upotreba i scenariji za njihovu upotrebu.

Potreba za nepromjenjivim nizom u Javi

Dva su razloga važna za reći zašto je klasa Nepromjenjivi niz izrađena u Javi:

1. Uopće nije moguće imati jedan objekt / literal niza.

Osvrnimo se na donji primjer:

Mnogo referentnih varijabli može se uputiti na 'test'. Ako netko od njih promijeni vrijednost za druge, to će također utjecati. Da vidimo kako.

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


Niz A koji se naziva 'Test' .toUpperCase () koji isti objekt mijenja u,'TEST'pa će i B biti 'TEST' što nije potrebno. Ispod je dijagram koji nam govori kako se String stvara u hrpi memorije i String literal pool.

c ++ program za sortiranje niza u rastućem redoslijedu

2. Niz se često koristio kao parametar za mnoge Java klase. Na primjer, kada otvorimo mrežnu vezu, možemo kao niz proslijediti ime hosta i broj porta, a za otvaranje veze s bazom podataka URL baze podataka možemo proslijediti kao niz.


Nepromjenjivi niz mogao bi dovesti do ozbiljnih sigurnosnih prijetnji. Na primjer, netko može pristupiti datoteci kojoj ima pristup, a zatim promijeniti ime naziva datoteke kako bi dobio pristup drugoj datoteci. U slučaju nepromjenjivosti, ne trebate brinuti zbog ovih prijetnji.

kako razvrstati brojeve u c ++

Nepromjenjivi niz također može sigurno dijeliti niti, što je važno za programiranje s više niti. Nepromjenjiva instanca niza zaštićena je nitima u Javi, tako da nema potrebe za vanjskom sinkronizacijom operacije String kako bi se izbjegli problemi sa sinkronizacijom u Javi. Još jedna važna stvar koju treba napomenuti je curenje memorije uzrokovano Substringom, što nije problem vezan uz nit, već nešto čega treba biti svjestan.

Ovim smo došli do kraja ovog članka 'Nepromjenjivi niz u Javi'. C pakao Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA namijenjen je studentima i profesionalcima koji žele biti programer Java.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.