Megváltoztathatatlan karakterlánc Java-ban: Minden, amit tudnod kell

Ez a cikk részletes és átfogó ismereteket nyújt a Java megváltoztathatatlan karakterláncairól, miért fontos ez?

Megváltozhatatlan vonósok kezelése nagyon fontos szempont minden programozási nyelvben. Ebben a cikkben a következő szempontokat tárgyaljuk:



Bevezetés a Java megváltoztathatatlan karakterláncába

A karakterkészlet olyan string objektumokkal rendelkezik, amelyek gyorsítótárazva vannak, ami miatt a string megváltoztathatatlan. Több ügyfél osztja meg a gyorsítótárazott karakterláncokat. Az egyik ügyfél tevékenységével járó kockázatok érintenék az összes többi ügyfelet.



Például, amikor egy ügyfél a String „Test” értékét „TEST” -re változtatja, az összes többi ügyfél látni fogja a megváltozott értéket. Mivel a húrobjektumok gyorsítótárban tárolása fontos volt a teljesítmény szempontjából, az Immutable String osztály elkerülte a kockázatot. Szintén, A karakterlánc végleges lett, hogy a String osztály invariánsát ne veszélyeztessék. Példa megváltoztathatatlanság, gyorsítótár, hash kód kiszámítása a viselkedés kiterjesztésével és felülbírálásával.

Hashmap Key

A HashMap kulcs nagyon népszerű, a megváltoztathatóság nagyon fontos, hogy az értékobjektum lehívható legyen a HashMap-ból. Hash a HashMap elve, amely megköveteli, hogy ugyanennek legyen értéke a megfelelő működéshez. Két különböző hashkód készül, az egyik a beszúráskor, a másik pedig a visszakereséskor, amikor a tartalom a beillesztés után módosul, és ezzel elveszítheti a térképen lévő értéket.



Hashtable-Immutable karakterlánc a Java-ban
A Java-ban a megváltoztathatatlan karakterlánc osztály a leggyakrabban feltett kérdés . A vita azzal kezdődik, hogy mi a String, miben különbözik a Stringtől a C ++ nyelven, majd a következő kérdés a Java megváltoztathatatlan objektumai, a megváltoztathatatlan objektum előnyei, mi a használatuk és milyen forgatókönyvek vannak ezek használatához.

a string alapértelmezett értéke a java-ban

Változhatatlan karakterláncra van szükség a Java-ban

Két okból fontos megmondani, miért készül az Immutable String osztály Java-ban:

1. Ebben az esetben egyáltalán nem lehetséges egy karakterlánc objektum / literál.



Hivatkozzunk az alábbi példára:

A „teszt” -re sok referenciaváltozó hivatkozhat. Ha bármelyikük megváltoztatja az értékét mások számára, ez szintén hatással lesz. Nézzük meg, hogyan.

A karakterlánc = 'Teszt'
B karakterlánc = „teszt”


Karakterlánc Egy úgynevezett „Test” .toUpperCase (), amely ugyanazt az objektumot'TESZT'tehát B is „TEST” lesz, amire nincs szükség. Az alábbiakban bemutatunk egy diagramot, amely bemutatja, hogyan jön létre a String a halom memóriában és a String szó szerinti készletben.

2. A karakterláncot széles körben használták sok Java osztály paramétereként. Például, amikor hálózati kapcsolatot nyitunk meg, akkor a hosztnevet és a portszámot karakterláncként adhatjuk át, az adatbázis-kapcsolat megnyitásához pedig az adatbázis URL-jét adhatjuk meg karakterláncként.

van és van kapcsolata a java-ban


A megváltoztathatatlan húr súlyos biztonsági fenyegetésekhez vezetne. Például valaki hozzáférhet egy fájlhoz, amelyhez hozzáférése van, majd megváltoztathatja a fájl nevét, hogy hozzáférjen a másik fájlhoz. Változhatatlanság esetén nem kell aggódni ezekért a fenyegetésekért.

Egy megváltoztathatatlan karakterlánc biztonságosan megoszthatja a szálakat is, ami fontos a többszálas programozáshoz. Egy megváltoztathatatlan karakterlánc-példány szálbiztos a Java-ban, így nincs szükség külső karakterláncok szinkronizálására, hogy elkerüljük a Java szinkronizálási problémáit. Egy másik fontos szempont, amelyet a Substring okozta memóriaszivárgás jelent, ami nem egy szálal kapcsolatos probléma, hanem tudatában kell lennie.

Ezzel a „Javíthatatlan karakterlánc Java-ban” végére értünk. C a fenébe az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát olyan hallgatók és szakemberek számára tervezték, akik Java fejlesztők szeretnének lenni.

Van egy kérdésünk? Kérjük, említse meg a blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.