Chapter 11: Strings


Section 11.4: String pool and heap storage


Download 0.83 Mb.
bet5/12
Sana18.12.2022
Hajmi0.83 Mb.
#1031312
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
dasturlsh string

Section 11.4: String pool and heap storage


Ko'pgina Java ob'ektlari singari, barcha String misollari to'pda, hatto literallarda ham yaratilgan. JVM yig'ma ichida ekvivalent havolaga ega bo'lmagan String literalini topganda, JVM to'plamda mos keladigan String misolini yaratadi va u shuningdek String hovuzida yangi yaratilgan String misoliga havolani saqlaydi. Xuddi shu String literaliga boshqa har qanday havolalar yig'ma ichida avval yaratilgan String misoli bilan almashtiriladi.
Keling, quyidagi misolni ko'rib chiqaylik:

The output of the above is:


String yaratish uchun qoʻsh qoʻshtirnoqdan foydalansak, u birinchi navbatda String hovuzida bir xil qiymatga ega Stringni qidiradi, agar topilsa, havolani qaytaradi, aks holda u hovuzda yangi String yaratadi va keyin havolani qaytaradi.
Biroq, new operatoridan foydalanib, biz String sinfini yig'ish maydonida yangi String ob'ektini yaratishga majbur qilamiz. Uni hovuzga qo'yish uchun intern() usulidan foydalanishimiz yoki bir xil qiymatga ega bo'lgan string hovuzidagi boshqa String ob'ektiga murojaat qilishimiz mumkin.
String hovuzining o'zi ham to'pda yaratilgan.
Versiya < Java SE 7
Java 7 dan oldin String literallari PermGen metodi sohasidagi ish vaqti doimiy hovuzida saqlangan, ular belgilangan o'lchamga ega edi.
String hovuzi ham PermGen shahrida joylashgan.
Version ≥ Java SE 7
RFC: 6962931

String

.

intern

JDK 7 da interned satrlar endi Java to'plamining doimiy avlodida ajratilmaydi, balki dastur tomonidan yaratilgan boshqa ob'ektlar bilan bir qatorda Java to'plamining asosiy qismida (yosh va eski avlodlar deb nomlanadi) ajratiladi. . Ushbu o'zgarish asosiy Java to'plamida ko'proq ma'lumotlarga va doimiy avlodda kamroq ma'lumotlarga olib keladi va shuning uchun yig'ish o'lchamlarini sozlashni talab qilishi mumkin. Aksariyat ilovalar bu o'zgarish tufayli yig'ma foydalanishda nisbatan kichik farqlarni ko'radi, lekin ko'p sinflarni yuklaydigan yoki () usulidan ko'p foydalanadigan kattaroq ilovalar sezilarli farqlarni ko'radi.


Download 0.83 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling