Mis on stringipooli mõiste javas?



Stringupunkt Java'is on stringide kogum, mis on salvestatud Java kuhjamällu. See õpetus aitab teil üksikasjalikult käsitleda Java String Pooli koos näidetega.

Kas olete sellest terminist kuulnud 'Stringi bassein Java-s?' Noh, kui ei, siis olete maandunud õigesse kohta. Java stringide kogum on stringide kogum, mis on salvestatud kataloogi Hunnik mälu. Uurigem natuke sügavamalt ja mõistkem seda Java String pooli kontseptsiooni üksikasjalikult.

Selles artiklis käsitletakse järgmisi näpunäiteid:





Alustagem!

Kõigepealt mõistkem, kuidas stringiobjekt täpselt luuakse!



Kuidas luua stringi?

Stringi objekti Java-s loomiseks on kaks võimalust.

  • Uue operaatori kasutamine. Näiteks,
String s1 = uus string ('Joey')
  • Stringi sõnasõnalise või konstantse avaldise kasutamine. Näiteks,
String s1 = 'Joey' (string literal) või string s1 = 'Joe' + 'y' (stringi konstantne avaldis)

Mis on see Stringi kogum, millest ma räägin ja kuidas on Java-i stringi loomine sellega seotud. Las ma võtan segaduse maha!

Mis on Java stringikeel?

String Pool on Java kuhja ladustamisala.



teisenda stringi kuupäev java kuupäevaks

Stringijaotus, nagu kõik objekti eraldamine , osutub kulukaks afääriks nii aja kui mälu puhul. JVM sooritab mõningaid toiminguid, alustades stringiliitrit, et suurendada jõudlust ja vähendada mälu üldkulusid. JVM-is loodud stringide objektide arvu vähendamiseks hoiab klass String stringide kogumit.

Iga kord, kui stressi literaal luuakse, JVM kontrollib kõigepealt stringi sõna otsest kogumit. Kui string on stringipaketis juba olemas, tagastatakse viide ühendatud eksemplarile. Kui stringi basseinis ei eksisteeri, lähtestatakse uus String-objekt ja see paigutatakse basseini.

Pärast kontseptsiooni teoreetilist õppimist lubage mul teile öelda, kuidas String pool töötab Javas samm-sammult lihtsate eksemplaride abil!

Kuidas String pool töötab Javas?

Uue sellise stringi loomisel toimige järgmiselt.

String s1 = 'Rachel'

JVM kontrollib automaatselt, kas stringi konstantse kogumis on sama väärtus või mitte.

  • kui jah, siis see hõivab juba olemasolevat väärtust.
  • Kui ei, loob see ise uue stringi ja lisab selle stringipunkti.

Kui soovite selle käitumise peatada, looge string uue operaatori abil:

String s1 = uus string („Rachel”)

Kui olete valmis selle stringi kaadrisse lisama , Pakub Java teile meetodi, intern () meetodi, mida saate kutsuda native intern () meetodiks järgmiselt:

S1. sisemine ()

Nüüd näitan teile näite abil stringipooli rakendamist ja töötamist.

Enne seda aga lühike meeldetuletus!

Nagu teate, kui võrdlete operaatori == abil kahte objekti, võrdleb see mälus olevaid aadresse.

Seega võrdleme stringe == abil, et olla täiesti kindel, et see on sama objekt või mitte.

Hüppame nüüd oma rakendamisprotsessi.

Stringipunkt Java-s: vooskeem

String-bassein - Edureka

Mõelgem nüüd, mis siin toimub, samm-sammult:

  • Klass laaditakse, kui on kutsutud.
  • JVM otsib programmist kõiki stringi literaale
  • Esiteks leiab see muutuja s1, mis viitab sõna otsesele sõnale “Apple”, ja see luuakse mällu
  • Seejärel lisatakse stringi konstantse kogumi mällu viide sõna otsesele sõnale “Apple”.
  • Siis leiab ta veel ühe muutuja s2, mis viitab samale stringitekstile „Mango“.
  • Siis leiab ta teise muutuja s3, mis viitab sõna otsesele sõnale “Apple”
  • Nüüd, kui JVM on juba leidnud sõnasõnalise sõna „Apple“, viitavad nii muutujad s1 kui ka s3 samale objektile, st „Apple“.

Java programm String Poolile

public class StringPoolExperiment {public static void main (String [] args) {String s1 = 'Rachel' String s2 = 'Rachel' String s3 = new String ('Rachel') String s4 = new String ('Rachel'). intern ( ) System.out.println (s1 == s2) // true System.out.println (s1 == s3) // false System.out.println (s1 == s4) // true}}

Väljund:

Tõsi
Vale
Tõsi

Ülaltoodud näites näete selgelt stringi initsialiseerimise kasutamist kõigil kolmel viisil, st

String s1 = 'Rachel' String s2 = 'Rachel' String s3 = uus string ('Rachel') String s4 = uus string ('Rachel'). Praktikant ()

Programmi sisemine töö peaks nüüd olema selge.

Sellega olen jõudnud oma ajaveebi lõpupoole. Loodan, et siin välja töötatud sisu aitas teil oma teadmistebaasi laiendada. Jätkame sukeldumist Java-maailma. Püsige lainel!

Vaadake 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. Kursus on loodud selleks, et anda teile Java-programmeerimises alustamine ja õpetada teid nii Java-põhi kui ka edasijõudnute kontseptsioonide ning erinevate Java-raamistike jaoks, nagu talveunerežiim ja Kevad .

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