Kāds ir String Pool jēdziens java?



String Pool Java ir virkne, kas glabājas Java kaudzes atmiņā. Šī apmācība palīdzēs jums ar detalizētu pieeju Java virkņu kopai ar piemēriem.

Vai esat dzirdējuši par šo terminu 'Stīgu kopa Java?' Nu, ja nē, jūs esat nonācis īstajā vietā. Java virkņu kopa ir virkņu kopa, kas tiek saglabāta Kaudzes atmiņa. Ļaujiet mums nedaudz padziļināt un detalizēti izprast šo Java virkņu kopas jēdzienu.

Šajā rakstā tiks aplūkoti šādi norādījumi:





Sāksim!

kā instalēt php 7 uz Windows 10

Pirmkārt, ļaujiet mums saprast, kā tieši tiek izveidots virknes objekts!



Kā izveidot virkni?

Lai Java izveidotu virkni String, ir divi veidi:

  • Jaunā operatora izmantošana. Piemēram,
Virkne s1 = jauna virkne ('Joey')
  • Izmantojot virknes burtisku vai nemainīgu izteiksmi. Piemēram,
Virkne s1 = 'Joey' (virknes literāls) vai virkne s1 = 'Joe' + 'y' (virknes nemainīgā izteiksme)

Kas ir šis virkņu kopa, par kuru es runāju, un kā ar to ir saistīta virknes izveide Java. Ļaujiet man samazināt jucekli!

Kas ir virkņu kopa Java?

String Pool ir glabāšanas zona Java kaudzē.



Stīgu sadalījums, tāpat kā visi objektu piešķiršana , izrādās dārga lieta gan laika, gan atmiņas gadījumos. JVM veic dažas darbības, vienlaikus inicializējot virknes literāļus, lai palielinātu veiktspēju un samazinātu atmiņas pieskaitāmās izmaksas. Lai samazinātu JVM izveidoto virkņu objektu skaitu, virkne String glabā virkņu kopu.

Katru reizi, kad tiek izveidots virknes literāls, JVM vispirms pārbauda virknes burtisko kopu. Ja virkne jau pastāv virkņu krājumā, atgriežas atsauce uz apvienoto instanci. Ja virkne pūlā nepastāv, tiek inicializēts jauns virknes objekts un tas tiek ievietots pūlā.

Pēc teorijas apguves teorētiski ļaujiet man pastāstīt, kā virknes kopa Java darbojas soli pa solim ar vienkāršu gadījumu palīdzību!

Kā String pool darbojas Java valodā?

Veidojot jaunu šādu virkni:

Virkne s1 = “Reičela”

JVM automātiski pārbauda, ​​vai virknes nemainīgajā krājumā pastāv tā pati vērtība.

  • ja jā, tas aizņem jau esošo vērtību.
  • Ja nē, tas pats izveido jaunu virkni un pievieno to virkņu kopai.

Ja vēlaties apturēt šo darbību, izveidojiet virkni, izmantojot jaunu operatoru:

Virkne s1 = jauna virkne (“Rachel”)

Tagad, ja vēlaties pievienot šo virkni , Java nodrošina metodi, ko sauc, intern (), kuru varat izsaukt kā vietējo intern () metodi šādi:

S1.intern ()

Tagad es parādīšu virkņu kopas ieviešanu un darbību, izmantojot piemēru.

Bet pirms tam īss atgādinājums!

Kā jūs zināt, ja salīdzināt 2 objektus, izmantojot operatoru ==, tas salīdzina adreses atmiņā.

Tāpēc mēs salīdzināsim virknes, izmantojot ==, lai būtu pilnīgi pārliecināts, ka tas ir tas pats objekts vai nē.

Apskatīsim mūsu ieviešanas procesu.

Stīgu kopa Java valodā: plūsmas diagramma

Stīgu baseins - Edureka

Tagad ļaujiet mums saprast, kas šeit notiek, soli pa solim:

  • Klase tiek ielādēta, kad tiek izsaukts.
  • JVM meklē visus virknes literālus programmā
  • Pirmkārt, tas atrod mainīgo s1, kas attiecas uz burtiski “Apple”, un tas tiek izveidots atmiņā
  • Pēc tam virknes nemainīgā kopas atmiņā tiek ievietota atsauce uz burtisko “Apple”.
  • Tad tas atrod citu mainīgo s2, kas attiecas uz to pašu virknes burtisko “Mango”.
  • Tad tas atrod citu mainīgo s3, kas attiecas uz burtiski “Apple”
  • Tagad, kad JVM jau ir atradis virknes burtisko “Apple”, gan mainīgie s1, gan s3 atsauksies uz to pašu objektu, t.i., “Apple”.

Java programma String Pool

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) // patiess}}

Izeja:

Patiesi
Nepatiesa
Patiesi

Iepriekš minētajā piemērā jūs varat skaidri redzēt virknes inicializācijas izmantošanu visos trīs veidos, t.i.

Virkne s1 = 'Reičela' virkne s2 = 'Reičela' virkne s3 = jauna virkne ('Reičela') Virkne s4 = jauna virkne ('Reičela'). Interns ()

Varbūt programmas iekšējai darbībai tagad vajadzētu būt skaidrai.

Ar to es esmu sasniedzis sava emuāra beigas. Es ceru, ka šeit izstrādātais saturs jums palīdzēja paplašināt savu zināšanu bāzi. Mēs turpināsim ienirt Java pasaulē. Sekojiet līdzi!

Pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji. Kurss ir paredzēts, lai dotu jums iespēju sākt Java programmēšanu un apmācīt gan pamata, gan uzlabotas Java koncepcijas, kā arī dažādas Java struktūras, piemēram, hibernēt un Pavasaris .

Vai mums ir jautājums? Lūdzu, pieminējiet to šī emuāra “String Pool in Java” komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.