Nekintama eilutė „Java“: viskas, ką reikia žinoti



Šis straipsnis suteiks jums išsamių ir išsamių žinių apie „Java“ nekintamas eilutes, kodėl tai svarbu?

Sprendimas dėl nekintamos stygos yra labai svarbus aspektas bet kuria programavimo kalba. Šiame straipsnyje aptarsime šiuos patarimus:

Įvadas į nekintamą „Java“ eilutę

Stygų telkinyje yra eilutės objektai, kurie yra talpykloje, nes eilutė yra nekintama. Keli klientai dalijasi talpykloje esančiais eilutės literalais. Rizika, susijusi su vieno kliento veiksmu, turėtų įtakos visiems kitiems klientams.





Pavyzdžiui, kai klientas pakeičia eilutės reikšmę „Test“ į „TEST“, visi kiti klientai matys pakeistą vertę. Kadangi styginių objektų talpykla buvo svarbi atlikimui, „Immutable String“ klasė išvengė rizikos. Be to, Stygos buvo padarytos galutinėmis, kad nebūtų pakenkta stygų klasės invariantui. Nepastebimumo, talpyklos, maišos kodo apskaičiavimo pavyzdys, atliekamas pratęsiant ir nepaisant elgesio.

java rasti didžiausią skaičių sąraše

Hashmap raktas

„HashMap“ klavišas yra labai populiarus, nekintamumas yra labai svarbus, kad vertės objektą būtų galima gauti iš „HashMap“. Maišymas yra „HashMap“ principas, reikalaujantis, kad tas pats veiktų tinkamai. Du skirtingi maišos kodai gaminami vienas įterpimo metu, kitas - ieškant, kai turinys yra modifikuojamas po įterpimo, galbūt prarandant žemėlapio vertės objektą žemėlapyje.



„Java“ grotuvas, nekintamas
Dažniausiai klausiama „Java“ nekintama stygų klasė .Diskusija prasideda tuo, kas yra String, kuo ji skiriasi nuo String C ++, ir tada pateikiamas klausimas yra nekintami objektai „Java“, nekintamo objekto pranašumai, koks yra jų naudojimas ir scenarijai, kaip juos naudoti.

Nepakeičiamos eilutės „Java“ poreikis

Dvi priežastys yra svarbios norint pasakyti, kodėl „Java“ yra sukurta nepakartojamų stygų klasė:

1. Šiuo atveju apskritai neįmanoma turėti vieno eilutės objekto / pažodinio.



Panagrinėkime žemiau pateiktą pavyzdį:

„Testą“ gali nurodyti daugelis pamatinių kintamųjų. Jei kuris nors iš jų pakeis kitų vertę, tai taip pat turės įtakos. Pažiūrėkime, kaip.

A eilutė = „Testas“
B eilutė = „Testas“


A eilutė vadinama „Test“ .toUpperCase (), kuri tą patį objektą keičia į„TESTAS“taigi B taip pat bus „TEST“, kuris nereikalingas. Žemiau pateikiama schema, pasakojanti, kaip „String“ sukurta kaupo atmintyje ir „String“ pažodiniame telkinyje.

kas yra „JavaScriptof“ indeksas

2. Eilutė buvo plačiai naudojama kaip parametras daugeliui „Java“ klasių. Pavyzdžiui, atidarę tinklo ryšį, galime perduoti pagrindinio kompiuterio pavadinimą ir prievado numerį kaip eilutę, atidarydami duomenų bazės ryšį galime perduoti duomenų bazės URL kaip eilutę.


Nekintama eilutė sukeltų rimtų grėsmių saugumui. Pavyzdžiui, kažkas gali pasiekti failą, prie kurio jis turi prieigą, ir tada pakeisti failo pavadinimo pavadinimą, kad gautų prieigą prie kito failo. Nekintamumo atveju nereikia jaudintis dėl šių grėsmių.

Nekintama eilutė taip pat gali saugiai dalytis gijomis, o tai yra svarbu programuojant daugiasriegius. Nekintamas eilutės egzempliorius yra saugus „Java“, todėl nereikia sinchronizuoti „String“ operacijos išoriškai, kad išvengtumėte „Java“ sinchronizavimo problemų. Kitas svarbus dalykas, kurį reikia atkreipti dėmesį, yra atminties nutekėjimas, kurį sukelia „Substring“, o tai nėra su gija susijusi problema, bet apie ką reikia žinoti.

Tuo mes baigiame šį straipsnį „Nekintama eilutė„ Java ““. C Heck out sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio komentarų skiltyje ir mes kuo greičiau susisieksime su jumis.