Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Prečo sú Java Reťazce nezmeniteľný ?

Vývojári Javy navrhol " String " triedu ako nemenné objektu . " Nezmeniteľná " znamená , že hodnota triedy nemožno zmeniť , akonáhle programátor inštanciu objektu . Aj keď by sa mohlo zdať prínosné vždy použiť objekt String , ktorý má premenlivé hodnoty , je niekoľko dôvodov , vysvetliť , prečo to nie je tento prípad . Nezmeniteľné reťazca samy o sebe k použitiu vo viacvláknových programov , zvýšenie bezpečnosti programu , minimalizovať využitie pamäte , a lepšie pracovať ako hodnoty v dátových štruktúrach , ako je HashTables . Reťazca v multi - Threaded programy

programy sú tzv multi - Threaded , keď sa trela , čo je známe ako " vlákien " , ktoré bežia kód súbežne . Keď sa program spúšťa viac vlákien , tieto vlákna často pracujú na rovnakých premenných v rôznych časoch . Nebezpečenstvo je , keď dve vlákna zdieľajú premenné , a jedno vlákno zmení svoju hodnotu , zatiaľ čo druhá stále používa ju . " Zamykanie " mechanizmus zvyčajne stráži premenné v threading situáciách . S nemenná reťazec , však, vlákno sa nezaoberá s hodnotou premennej .
Security

nemennosť reťazcov tiež pomáha s niektorými bezpečnostnými záujmami . Keď užívateľ zadá prihlasovacie údaje na webových stránkach , je to teoreticky možné ho zmeniť hodnotu svojim užívateľským menom a heslom reťazca pred jeho odoslaním do systému . Ak k tomu dôjde , potom to môže používateľ vloženie škodlivého kódu do systému on alebo ona sa prihlasujete do . Vzhľadom k tomu , reťazce sú nemeniteľné , ale to nie je možné .
Minimalizovať využitie pamäte

programátor vytvorí reťazec objekt , tento objekt je umiestnený v pevnej bodu v pamäti , a názov premennej slúži ako jeho " odkazu . " Vzhľadom k tomu , odkaz na pamäti , a to , čo je v pamäti nie sú dve oddelené veci , to znamená , že ostatné názvy premenných môže tiež odkazovať na rovnaké miesto v pamäti . Takže keď sú požadované kópie reťazca , rôzne premenné môžu odkazovať na rovnaký nemenný reťazec , a od tej doby to sa nezmení , nemajú potrebu vytvárať kópie rovnakého reťazca .
Použitie v Hashtable Dátové štruktúry

HashTables sa nazývajú " slovníky " , pretože používajú dvojica kľúčové slovo - hodnota na vyhľadávanie na dátovú štruktúru jednoduchšie . Reťazce zvyčajne referenčnú hodnotu ( napríklad " name " = > " Robert " a " vek " = > 25 ) . Vzhľadom k tomu , reťazce sú nemeniteľné , programátor nemusí starať o kľúčové slovo v hodnote meniace, a stráca prístup k tejto hodnote .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené