Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Varför är Java Strings Immutable

    ? Utvecklarna av Java utformade för " String " klass som en oföränderlig objekt . " Immutable " betyder att värdet av klassen inte kan ändras när programmeraren instansieras objektet. Även om det verkar fördelaktigt att alltid använda ett String-objekt som har ett föränderligt värde , några skäl förklara varför detta är inte fallet . Oföränderliga strängar lämpar sig att använda i flertrådade program , öka programmets säkerhet , minimera minnesanvändning , och fungerar bättre som värden i datastrukturer som HashTables . Strängar i flertrådade program

    program kallas multi - trådad när de leker så kallade "trådar" som kör koden samtidigt . När ett program spawns flera trådar , dessa trådar arbetar ofta på samma variabler vid olika tidpunkter . Faran är när två trådar delar en variabel , och en förändring tråd sitt värde medan den andra fortfarande använder det . En " låsning " mekanism vaktar vanligen variabler i gängning situationer . Med en oföränderlig sträng , dock , är en tråd inte om värdet på variabeln . Addera Säkerhet

    oföränderlighet strängar också hjälper till med vissa säkerhetsproblem . När en användare anger inloggningsuppgifter på en webbplats , är det teoretiskt möjligt för honom att ändra värdet på användarnamn eller lösenord sträng innan den passerar till systemet . Om detta händer , så att användaren kan injicera skadlig kod till det system han eller hon loggar in . Eftersom strängarna är oföränderliga , dock är detta inte möjligt .
    Minimera minnesanvändning

    När en programmerare skapar ett String-objekt , ligger det objektet i en fast punkt i minnet , och den variabla namn fungerar som dess " referens. " Eftersom hänvisningen till minnet och vad minnet innehåller två separata saker , innebär detta att andra variabelnamn också kan referera till samma minnesplats . Så när kopior av en sträng krävs , kan olika variabler referera till samma oföränderliga strängen , och eftersom det inte kommer att förändras , har inget behov av att skapa kopior av samma sträng .
    Användning i Hashtable Datastrukturer

    HashTables kallas " ordböcker " eftersom de använder nyckelordsvärdepar att söka på datastruktur lättare . Referensteckensträngarna vanligtvis ett värde ( t.ex. " namn " = > " Robert " eller " okänd " = > 25 ) . Eftersom strängarna är oföränderliga , har en programmerare inte oroa nyckelordet för ett värde förändras , och förlorar tillgång till det värdet . Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man gör Uppräkningsattribut datatyper i Java
    ·Hur man skapar en Java Swing Application i NetBeans
    ·Hur man skriver strängar till en textfil i Java
    ·Hur till Ändra Java 1.6 till Java 1.5 för Mac
    ·Hur man använder Properties File i Struts
    ·Hur man läser en indatafil Java
    ·Hur konverterar man från RGB till YCrCb i Java
    ·Hur får man en URL i en Servlet
    ·Vad är Grundläggande Error 104 & Java
    ·Hur Öka minne tilldelad av Java Virtual Machine
    Utvalda artiklarna
    ·Hur man bygger en Parser i Python
    ·Lägga till moduler till Perl
    ·Hur man tar bort dubbletter i Prolog
    ·Hur får Jar Hänvisningar i Java Project
    ·Handledning av radnivå Lås i MySQL
    ·Konvertera datum till en sträng i VB6
    ·Hur man använder Visual Studio för C + +
    ·Lägga till video Overlay i PHP Motion
    ·Hur Infoga iFrame Med PHP
    ·Hur man identifierar och extrahera Relations Från text…
    Copyright © Dator Kunskap http://www.dator.xyz