Mustaqil ish-1 Mavzu: “Java nio” Topshirdi: Sayipov Sh. T 416-20 guruh Qabul qildi: Abdullayev U


Java NIO dan foydalanishning asosiy afzalliklari


Download 137.97 Kb.
bet2/4
Sana31.01.2024
Hajmi137.97 Kb.
#1828770
1   2   3   4
Bog'liq
Sayipov SH tarmoq dasturlash fanidan 1-mustaqil ishi

Java NIO dan foydalanishning asosiy afzalliklari
Ko'pincha "bloklanmaydigan kiritish-chiqarish" deb ataladigan NIO, biz kiritish-chiqarish resurslari bilan o'zaro munosabatimizni tubdan o'zgartiradi. Oqimlar o'rniga NIO kanallar va buferlarni taqdim etadi.Kanallarni ikki tomonlama ma'lumot uzatish yo'llari deb hisoblash mumkin. Odatda bir tomonlama (o'qish uchun kirish oqimi, yozish uchun chiqish oqimi) bo'lgan oqimlardan farqli o'laroq, kanallar o'qish va yozish operatsiyalarini qo'llab-quvvatlaydi. Ushbu ikki tomonlama tabiat ma'lum kiritish-chiqarish naqshlarini yanada soddalashtirishi mumkin.
Boshqa tomondan, buferlar NIO operatsiyalari bilan shug'ullanadigan asosiy ma'lumotlar tuzilmalaridir. Ma'lumotlar kanaldan o'qilganda, u buferga o'qiladi. Ma'lumotlar kanalga yozilsa, u buferdan yoziladi. Buferlar xotira blokiga qattiq o'lchamli oynani taqdim etadi va bu qat'iy o'lchamli xususiyat NIO ga bufer to'ldirilmaguncha yoki drenajlanmaguncha qo'ng'iroq qiluvchini bloklamasdan ishlashiga imkon beradi.
Java NIO-dagi selektorlar bir nechta kirish kanallarini

1.1-rasm. Asosiy Nio server arxtikturasi
Bloklanmagan va asinxron kiritish-chiqarish
Java NIO dan foydalanishning eng muhim afzalliklaridan biri uning bloklanmaydigan va asinxron kiritish-chiqarish operatsiyalarini bajarish qobiliyatidir. An'anaviy blokirovka qiluvchi I/U modelida, agar ip o'qish yoki yozish operatsiyasini chaqirsa, u operatsiya tugaguncha bloklanadi. Bu, ayniqsa minglab kiritish-chiqarish operatsiyalarini bir vaqtning o'zida bajarishingiz kerak bo'lgan stsenariylarda samarasiz bo'lishi mumkin.Biroq, NIO sizga o'qish yoki yozish operatsiyasini boshlashga va keyin operatsiya tugashini kutmasdan boshqa biror narsa qilishga o'tishga imkon beradi. Bir nechta kiritish/chiqarish operatsiyalari holatini tekshirish va tayyor bo'lganlarini hech birida bloklanmasdan qayta ishlash qobiliyati yanada kengaytiriladigan va sezgir kiritish-chiqarish intensiv ilovalariga eshikni ochadi.
Java NIO-dagi selektorlar bir nechta kirish kanallarini kuzatish uchun bitta bajarilish oqimiga imkon beradi. Siz selektor yordamida bir nechta kanallarni ro‘yxatdan o‘tkazishingiz, so‘ngra qayta ishlash uchun mavjud ma’lumotlarga ega kanallarga xizmat ko‘rsatish yoki yozib olishga tayyor kanallarni tanlash uchun bitta bajarilish oqimidan foydalanishingiz mumkin.


1.2-rasm. Java NIO-dagi selektorlar bir nechta kirish kanali

Selektorlardan foydalanish tushunchasi va foydasini yaxshiroq tushunish uchun keling, dasturlashdan bir qadam orqaga chekinib, poezd stantsiyasini tasavvur qilaylik. Selektorsiz variant: uchta temir yo'l (kanal) mavjud, ularning har biriga poezd istalgan vaqtda kelishi mumkin (buferdan olingan ma'lumotlar), har bir yo'lda stansiya xodimi (ijro ipi) doimo kutmoqda, uning vazifasi kelgan poezdga xizmat ko'rsatish. Natijada uch nafar xodim, garchi u yerda umuman poyezd bo‘lmasa ham, doimiy ravishda stansiyada bo‘ladi. Selektor varianti: vaziyat bir xil, lekin har bir platforma uchun stansiya xodimiga (ijro ipi) poezdning kelishi haqida signal beruvchi ko'rsatkich mavjud. Shunday qilib, stansiyada bitta xodimning mavjudligi etarli. Java NIO sizga eng kam sonli bajaruvchi iplardan foydalangan holda bir nechta kanallarni (tarmoq ulanishlari yoki fayllar) boshqarish imkonini beradi. Biroq, bu yondashuvning narxi shundaki, ma'lumotlarni tahlil qilish oqimlarni blokirovka qilishdan ko'ra murakkabroq.

Agar siz bir vaqtning o'zida minglab ochiq ulanishlarni boshqarishingiz kerak bo'lsa, ularning har biri faqat kichik hajmdagi ma'lumotlarni uzatsa, ilovangiz uchun Java NIO ni tanlash afzallik berishi mumkin. Ushbu turdagi dizayn sxematik tarzda quyidagi rasmda ko'rsatilgan:

1.3-rasm. Kichik hajimdagi ma’lumotlarni uzatish uchun

Agar sizda katta hajmdagi maʼlumotlarni tashuvchi kamroq ulanishlar boʻlsa, klassik kiritish-chiqarish dizayni afzalroqdir:


1.4-rasm .Katta hajimdagi ma’lumotlarni uzatish uchun server
Shuni tushunish kerakki, Java NIO hech qanday holatda Java IO o'rnini bosa olmaydi. Buni takomillashtirish sifatida ko'rib chiqish kerak - kirish / chiqishni tashkil qilish imkoniyatlarini sezilarli darajada kengaytirish imkonini beruvchi vosita. Ikkala yondashuvning kuchidan to'g'ri foydalanish sizga yaxshi, yuqori unumli tizimlarni yaratish imkonini beradi.

Download 137.97 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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