Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Java Programming >> Content
Waarom zijn Java Strings onveranderlijk ?
De ontwikkelaars van Java ontworpen de " String " klasse als een onveranderlijke object . " Onveranderlijk " betekent dat de waarde van de klasse niet kan veranderen zodra de programmeur instantieert het object . Hoewel het voordelig lijkt altijd een String object dat een veranderlijke waarde heeft enkele redenen waarom dit niet het geval . Onveranderlijke strings lenen zich voor gebruik in multi - threaded programma's , te verhogen programma voor de beveiliging , het minimaliseren van het geheugengebruik , en beter werken als waarden in data structuren zoals hashtables . Strings in multi-threaded programma

Programma
zijn multi- threaded genoemd wanneer ze paaien wat bekend staat als " draden" die code tegelijkertijd worden uitgevoerd . Wanneer een programma spawnt meerdere threads , die draden werken vaak dezelfde variabelen op verschillende tijdstippen . Het gevaar is wanneer twee threads delen een variabele , en een thread veranderingen zijn waarde , terwijl de tweede gebruikt het nog steeds . Een " locking " mechanisme bewaakt doorgaans variabelen in threading situaties . Met een onveranderlijke reeks echter een thread is niet bezig met de waarde van de variabele .
Veiligheid

De onveranderlijkheid van de snaren helpt ook met bepaalde veiligheidsproblemen . Wanneer een gebruiker login gegevens op een website , het is theoretisch mogelijk voor hem om de waarde van de gebruikersnaam of het wachtwoord touwtje wijzigen voordat dit wordt doorgegeven aan het systeem . Als dit gebeurt , dan is dat de gebruiker kan kwaadaardige code te injecteren om het systeem dat hij of zij is in te loggen op . Omdat strings zijn onveranderlijk , is dit echter niet mogelijk .
Geheugengebruik beperken

Wanneer een programmeur creëert een string object , dat object zich bevindt in een vaste punt in het geheugen , en de naam van de variabele fungeert als zijn " referentie. " Omdat de verwijzing naar het geheugen en hoe het geheugen bevat twee afzonderlijke dingen , betekent dit dat andere variabele namen ook dezelfde geheugenlocatie kan verwijzen . Dus wanneer u een kopie van een string nodig zijn, kunnen verschillende variabelen dezelfde onveranderlijke tekenreeks verwijzen , en omdat het niet zal veranderen , geen behoefte hebben aan kopieën van dezelfde snaar te creëren .
Gebruik in HashTable datastructuren

hashtables
worden " woordenboeken " , omdat ze gebruik maken van keyword - waarde paren om het zoeken naar de datastructuur makkelijker . Snaren meestal verwijzen naar een waarde ( zoals " name" = > " Robert " of " age" = > 25 ) . Omdat strings zijn onveranderlijk , doet een programmeur geen zorgen te maken over het zoekwoord van een waarde te veranderen , en het verliezen van de toegang tot die waarde .

Previous: Next:
  Java Programming
·Hoe te Tcpdump Run From Java 
·Wat is een Actionservlet in St…
·Hoe te multibytetekens Detect …
·Java Kan niet maken een statis…
·Monoalphabetic Vervanging Ciph…
·Hoe vindt u het grootste aanta…
·Hoe te JAS creëren met afhank…
·Hoe te Barcodes gebruiken in J…
·Hoe te Binary converteren naar…
  Related Articles
Wat zijn de functies van Visual Basic ? 
Hoe worden Arrays Initialized in Visual …
Wat zijn de verschillen tussen Visual Ba…
Wat zijn Visual Basic Terminologies ? 
Wat zijn de verschillende evenementen in…
Wat zijn goede programma's te maken op V…
Wat zijn methoden van Visual Basic ? 
Waarom is SQL Server geïnstalleerd met …
Wat zijn de mobiele applicaties voor Vis…
  Programmering Articles
·Syntax Error : Bad Array declarator 
·Hoe je floating point getallen Rond in P…
·Hoe naar Tools voor PHP 5 voor Windows 
·Hoe om te leren Scala 
·Hoe maak je een afbeelding invoegen in e…
·Hoe te terugdraaien segmenten beheren 
·Hoe te testen Als Iterable in Python 
·Hoe maak je een Java Applet embedden in …
·Hoe te Arrays in Java Verplaats 
Copyright © Computer Kennis http://www.nldit.com