Muutumatu string Java keeles: kõik, mida peate teadma



See artikkel annab teile üksikasjalikud ja põhjalikud teadmised Java muutumatutest stringidest, miks see on oluline?

Muutumatu stringiga tegelemine aastal on igas programmeerimiskeeles väga oluline aspekt. Selles artiklis käsitleme järgmisi näpunäiteid:

Sissejuhatus Java-i muutumatusse stringi

Stringipunktis on stringiobjektid, mis on vahemälus, mille tõttu string on muutumatu. Mitu klienti jagavad vahemälus olevaid stringiliite. Ühe kliendi tegevusega seotud riskid mõjutaksid kõiki teisi kliente.





Näiteks kui klient muudab stringi väärtuse „Test” väärtuseks „TEST”, näevad muud kliendid muudetud väärtust. Kuna stringiobjektide vahemällu salvestamine oli jõudluse seisukohalt oluline, vältis klass Vahetamatu string. Samuti String muudeti lõplikuks, et Stringi klassi invarianti ei kahjustataks. Näide muutumatuse, vahemällu salvestamise, räsikoodi arvutamise kohta käitumise laiendamise ja alistamise abil.

Hashmapi võti

HashMapi võti on väga populaarne, muutmatus on väga oluline, et väärtusobjekti saaks HashMapist hankida. Räsimine on HashMapi põhimõte, mis nõuab, et sama funktsiooni korralikult toimiks ka väärtus. Kaks erinevat räsikoodi toodetakse üks sisestamise ajal ja teine ​​väljavõtmisel, kui sisu pärast sisestamist muudetakse, kaotades potentsiaalselt kaardi väärtuse objekti.



algtaseme pythoni arendaja jätkamine

Hashtable-muutumatu string Java-s
Kõige sagedamini küsitakse Java-s muutumatut stringide klassi .Arutelu algab sellest, mis on string, kuidas see erineb stringist C ++ -s ja siis järgnev küsimus on Java muutumatud objektid, muutumatu objekti eelised, mis on nende kasutamine ja stsenaariumid nende kasutamiseks.

Vajadus Java-s muutumatu stringi järele

Miks Java-s muudetakse muutumatute stringide klassi, on kaks põhjust:

1. Juhul ei ole üldse võimalik ühte stringiobjekti / literaali.



Vaadakem allpool toodud näidet:

Testile võib viidata paljude võrdlusmuutujate abil. Kui keegi neist muudab väärtust teiste jaoks, mõjutab see ka seda. Vaatame, kuidas.

String A = 'Test'
String B = 'Test'


String A nimetatakse 'Test' .toUpperCase (), mis muudab sama objekti'TEST'nii et B on ka TEST, mida pole vaja. Allpool on diagramm, mis ütleb meile, kuidas string on loodud kuhjamälus ja stringi sõna otseses kogumis.

2. Stringi oli paljude Java-klasside parameetrina laialdaselt kasutatud. Näiteks kui avame võrguühenduse, võime stringina edastada hostinime ja pordi numbri, andmebaasiühenduse avamiseks võime stringina edastada andmebaasi URL-i.


Muutumatu string tooks kaasa tõsiseid julgeolekuohte. Näiteks võib keegi pääseda juurde failile, millele tal on juurdepääs, ja muuta seejärel teisele failile juurdepääsu saamiseks failinime nime. Muutumatuse korral pole vaja nende ohtude pärast muretseda.

Muutumatu string võib turvaliselt ka lõime jagada, mis on oluline mitmikeermelise programmeerimise jaoks. Muutumatu stringi eksemplar on Javas niiditurvaline, nii et Java sünkroonimisprobleemide vältimiseks pole stringi operatsiooni vaja väliselt sünkroonida. Teine oluline punkt, mida tasub tähele panna, on Substringi põhjustatud mäluleke, mis pole niidiga seotud probleem, vaid millest peaks teadlik olema.

Sellega jõuame selle artikli 'Immutable String in Java' lõpuni. C kurat välja Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Edureka Java J2EE ja SOA koolitus- ja sertifitseerimiskursus on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad.

Kas teil on meile küsimus? Palun mainige seda selle blogi kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.