Keshlar:
Keshlar turli xil foydalanish holatlarida juda foydali. Misol
uchun, agar qiymatni hisoblash yoki olish qimmat bo'lsa, keshlardan
foydalanishni o'ylab ko'rishingiz kerak va uning qiymati ma'lum bir
kiritishda bir necha marta kerak bo'ladi. Kesh ConcurrentMap-ga o'xshaydi,
lekin bir xil emas. Odatda, Guava keshlash yordam dasturlari quyidagi
hollarda qo'llaniladi:
Tezlikni oshirish uchun siz biroz xotira sarflashga tayyorsiz.
Siz ba'zan kalitlarga bir necha marta so'rov berilishini kutasiz.
Sizning keshingiz RAMga mos keladiganidan ko'proq ma'lumotlarni
saqlashi shart emas.
Guavaning ajoyib xususiyatlarini umumlashtirish uchun quyidagi jadvalga
qarang:
Guava: Java uchun Google asosiy kutubxonalari
Guava - bu Google-ning asosiy Java kutubxonalari to'plami bo'lib, u yangi
to'plam turlarini (masalan, multimap va multiset), o'zgarmas to'plamlar, grafik
kutubxona va parallellik, kiritish/chiqarish, xeshlash, keshlash, primitivlar, satrlar
va boshqalar uchun yordamchi dasturlarni o'z ichiga oladi! U Googledagi ko'pgina
Java loyihalarida keng qo'llaniladi va boshqa ko'plab kompaniyalar tomonidan keng
qo'llaniladi.
Guava ikki xil ta'mga ega:
JRE lazzati uchun JDK 1.8 yoki undan yuqori boʻlishi kerak.
Agar sizga Android uchun yordam kerak bo'lsa, Android ta'mini ishlating. Android
Guava manbasini
android katalogda
topishingiz mumkin .
Kodlaringizga Guava qo'shilishi
Guavaning
Maven
guruhi
identifikatori
, com.google.guavaartefakt
identifikatori esa guava. Guava ikki xil "lazzat" taqdim etadi: biri (Java 8+) JRE-da,
ikkinchisi Android-da yoki Android bilan mos kelmoqchi bo'lgan har qanday
kutubxonada
foydalanish
uchun. Ushbu
lazzatlar
Maven
versiyasi
maydonida 31.0.1-jreyoki sifatida ko'rsatilgan 31.0.1-android. Guavaga bogʻliqligi
haqida koʻproq maʼlumot olish
uchun oʻz qurilishingizda Guavadan
foydalanishga
qarang .
Maven yordamida Guavaga qaramlikni qo'shish uchun quyidagilarni
foydalaning:
< qaramlik >
< groupId >com.google.guava groupId >
< artifactId >guava artifactId >
< version >31.0.1-jre version >
< version >31.0.1-android version >
qaramlik >
Gradle yordamida qaramlikni qo'shish uchun:
bog'liqliklar {
// birini tanlang:
// 1. Guavadan faqat amalga oshirishda foydalaning:
amalga oshirish( " com.google.guava:guava:31.0.1 -jre " )
// 2. Umumiy APIda Guava turlaridan foydalaning:
api( " com.google.guava:guava:31.0.1-jre " )
// 3. Android - Guava-dan faqat amalga oshirishda foydalaning:
amalga oshirish ( " com.google.guava:guava:31.0.1 -android " )
// 4. Android - Umumiy APIda Guava turlaridan foydalaning:
api( " com.google.guava:guava:31.0.1-android " )
}
Qachon foydalanish apiva qachon foydalanish haqida qo'shimcha ma'lumot olish
uchun
API va amalga oshirishni ajratish bo'yicha Gradle hujjatlariga
implementation
murojaat qiling
.
Suratlar va hujjatlar
masterFilialdan qurilgan Guava suratlarini Maven orqali versiya yordamida HEAD-
jre-SNAPSHOTyoki HEAD-android-SNAPSHOTAndroid
lazzati
uchun
olish
mumkin.
Snapshot API hujjatlari:
com.google.common.annotations - Umumiy izoh turlari.
com.google.common.base -Asosiy yordamchi kutubxonalar va interfeyslar.
com.google.common.cache - Ushbu paket keshlash yordamchi dasturlarini o'z ichiga
oladi.
com.google.common.collect - Ushbu paketda umumiy yig'ish interfeyslari va ilovalari
va to'plamlar bilan ishlash uchun boshqa yordamchi dasturlar mavjud.
com.google.common.escape - Interfeyslar, yordamchi dasturlar va escaper va
enkoderlarning oddiy ilovalari.
com.google.common.eventbus - EventBus komponentlar bir-biri bilan aniq ro'yxatdan
o'tishni talab qilmasdan (va shuning uchun bir-biridan xabardor bo'lish) komponentlar
o'rtasida nashr qilish-obuna tarzida aloqa o'rnatish imkonini beradi.
com.google.common.graph - Grafik (tugun va chekka) ma'lumotlarini ko'rsatish uchun
API.
com.google.common.hash - Xesh funktsiyalari va tegishli tuzilmalar.
com.google.common.html - HTML uchun Escapers.
com.google.common.io - Ushbu paketda Java I/U bilan ishlash uchun yordamchi
usullar va sinflar mavjud; masalan, kirish oqimlari, chiqish oqimlari, o'quvchilar,
yozuvchilar va fayllar.
com.google.common.math - Primitiv qiymatlar va BigIntegermisollar ustida
ishlaydigan arifmetik funktsiyalar .
com.google.common.net - Ushbu paketda tarmoq manzillari (raqamli IP va domen
nomlari) bilan ishlash uchun yordamchi usullar va sinflar mavjud.
com.google.common.primitives - Sakkizta ibtidoiy va void, va qiymat turlari bilan
ishlash uchun statik yordamchi dasturlar, ularni imzosiz deb hisoblash.
com.google.common.reflect - Ushbu paketda Java aks ettirish bilan ishlash uchun
yordamchi dasturlar mavjud.
com.google.common.util.concurrent - Parametrli yordamchi dasturlar.
com.google.common.xml - XML uchun Escapers.
Foydalanuvchi uchun qoʻllanma
Guava loyihasi Java-ga asoslangan loyihalarimizda tayanadigan Google-ning bir nechta
asosiy kutubxonalarini o'z ichiga oladi: to'plamlar, keshlash, primitivlarni qo'llab-
quvvatlash, parallel kutubxonalar, umumiy izohlar, satrlarni qayta ishlash, kiritish/chiqarish
va boshqalar. Ushbu vositalarning har biri har kuni Google xodimlari tomonidan ishlab
chiqarish xizmatlarida qo'llaniladi.
Ammo Javadoc orqali trol qilish har doim ham kutubxonadan qanday foydalanishni
o'rganishning eng samarali usuli emas. Bu erda biz Guavaning eng mashhur va eng kuchli
xususiyatlarining o'qilishi mumkin va yoqimli tushuntirishlarini berishga harakat qilamiz.
Do'stlaringiz bilan baham: |