Шта је концепт Стринг Поол у ​​јави?



Стринг Поол у ​​Јави је скуп жица које се чувају у Јава Хеап Мемори. Овај водич ће вам помоћи са детаљним приступом Јава Стринг Поол-у са примерима.

Јесте ли чули за тај појам „Стринг поол у ​​Јави?“ Па, ако не, слетели сте на право место. Стринг Поол у ​​Јави је скуп Стрингс-а који се чува у Хеап Мемори. Заронимо мало дубље и детаљно разумемо овај концепт Јава Стринг поол-а.

У овом чланку ће бити речи о следећим упутама:





Почнимо!

план праћења и контроле пројекта

Пре свега, схватимо како се тачно ствара низ објект!



Како створити низ?

Постоје два начина за стварање Стринг објекта на Јави:

  • Коришћење новог оператора. На пример,
Стринг с1 = нев Стринг ('Јоеи')
  • Коришћење стринг литералног или константног израза. На пример,
Стринг с1 = 'Јоеи' (стринг литерал) или Стринг с1 = 'Јое' + 'и' (стринг константан израз)

Е сад, о чему је ово Стринг поол о којем говорим и како је стварање низа у Јави повезано са овим. Дај да смањим неред!

Шта је Стринг Поол на Јави?

Стринг Поол је складишни простор у Јава гомили.



Распоред низа, као и сви алокација објеката , показује се као скупа ствар и у случају времена и у сећању. ЈВМ изводи неке кораке док иницијализује стринг литерале како би повећао перформансе и смањио трошкове меморије. Да би се смањио број Стринг објеката креираних у ЈВМ-у, класа Стринг држи скуп стрингова.

Сваки пут када се створи литерал низа, ЈВМ прво проверава спремиште литералних низова. Ако низ већ постоји у спремишту низова, враћа се референца на обједињену инстанцу. Ако низ не постоји у спремишту, нови објект Стринг се иницијализује и поставља у спремиште.

Након теоретског учења концепта, дозволићу вам да вам кажем како Стринг поол функционише у Јави корак по корак уз помоћ једноставних инстанци!

Како Стринг поол ради на Јави?

Када креирате нови низ попут овог:

Низ с1 = „Рацхел“

ЈВМ аутоматски проверава да ли иста вредност постоји у спремишту константи низа или не.

  • ако је одговор да, заузима већ постојећу вредност.
  • Ако није, он сам креира нови низ и додаје га у спремиште низова.

Ако желите зауставити ово понашање, створите низ помоћу новог оператора:

Низ с1 = нови низ („Рацхел“)

Ако сте спремни да додате овај низ у , Јава вам нуди методу која се зове, интерн () метода коју можете назвати нативном интерн () методом на следећи начин:

С1.интерн ()

Сада ћу вам показати пример примене и рада спремишта низова.

Али пре тога, кратак подсетник!

Као што знате, ако упоређујете 2 објекта помоћу оператора ==, он упоређује адресе у меморији.

Зато ћемо упоредити низове користећи == да бисмо били потпуно сигурни да је реч о истом објекту или не.

Сада, кренимо на наш процес примене.

Низ стрингова у Јави: дијаграм тока

Гудачки базен - Едурека

Сада схватимо шта се овде догађа корак по корак:

  • Класа се учитава када се позива.
  • ЈВМ тражи све стринг литерале у програму
  • Прво, проналази променљиву с1 која се односи на дословно „Аппле“ и она се креира у меморији
  • Тада се референца за дословно „Аппле“ ставља у меморију константног спремишта низова.
  • Затим проналази другу променљиву с2 која се односи на исти стринг литерал „Манго“.
  • Затим проналази другу променљиву с3 која се односи на дословно „Аппле“
  • Сада када је ЈВМ већ пронашао дословни низ „Аппле“, обе променљиве с1 и с3 односиће се на исти објекат, тј. „Аппле“.

Јава програм за Стринг Поол

јавна класа СтрингПоолЕкперимент {јавна статичка воид маин (Стринг [] аргс) {Стринг с1 = 'Рацхел' Стринг с2 = 'Рацхел' Стринг с3 = нев Стринг ('Рацхел') Стринг с4 = нев Стринг ('Рацхел'). интерн ( ) Систем.оут.принтлн (с1 == с2) // труе Систем.оут.принтлн (с1 == с3) // фалсе Систем.оут.принтлн (с1 == с4) // труе}}

Излаз:

Истина
Нетачно
Истина

шта је лутка у девопу

У горњем примеру можете јасно видети употребу иницијализације низа на сва три начина, тј

Стринг с1 = 'Рацхел' Стринг с2 = 'Рацхел' Стринг с3 = нев Стринг ('Рацхел') Стринг с4 = нев Стринг ('Рацхел'). Интерн ()

Интерни рад програма можда би сада требао бити јасан.

Овим сам стигао до краја свог блога. Надам се да су вам овде разрађени садржаји помогли да проширите базу знања. Наставит ћемо ронити у свет Јаве. Будите у току!

Погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА дизајниран је за студенте и професионалце који желе да буду Јава програмер. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас за основне и напредне Јава концепте, заједно са разним Јава оквирима као што су Хибернате & Пролеће .

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога „Стринг Поол на Јави“ и јавићемо вам се што је пре могуће.