74-bob: To'plamlarni tanlash


Download 342.92 Kb.
Pdf ko'rish
bet2/6
Sana24.12.2022
Hajmi342.92 Kb.
#1063446
1   2   3   4   5   6
Bog'liq
dasturlash maruza orginali (2)

66-bob: Seriyalashtirish 
Java ob'ektni ketma-ket baytlar sifatida ko'rsatish mumkin bo'lgan ob'ektni ketma-
ketlashtirish deb ataladigan mexanizmni taqdim etadi 
Bu ob'ektning ma'lumotlarini, shuningdek, ob'ekt turi va unda saqlanadigan ma'lumotlar 
turlari haqidagi ma'lumotlarni o'z ichiga oladi 
ob'ekt. 
Seriyalashtirilgan ob'ekt faylga yozilgandan so'ng, uni fayldan o'qish va seriyadan chiqarish 
mumkin, ya'ni turi 
ob'ektni va uning ma'lumotlarini ifodalovchi axborot va baytlar ob'ektni xotirada qayta 
yaratish uchun ishlatilishi mumkin. 
75.1-bo'lim: Java-da asosiy seriyalashtirish 
Serializatsiya nima 
Seriyalashtirish - ob'ekt holatini (shu jumladan uning havolalarini) baytlar ketma-ketligiga 
aylantirish jarayoni 
Kelajakda ushbu baytlarni jonli ob'ektga qayta tiklash jarayoni sifatida. Seriyalashtirish siz 
xohlagan vaqtda ishlatiladi 
ob'ektni saqlab qolish uchun. Bundan tashqari, Java RMI tomonidan JVMlar o'rtasida 
ob'ektlarni o'tkazish uchun yoki usulda argument sifatida ishlatiladi 
mijozdan serverga chaqiruv yoki usul chaqiruvidan qaytariladigan qiymatlar yoki istisnolar 
sifatida 
masofaviy usullar. Umuman olganda, serializatsiya ob'ekt JVM muddatidan keyin mavjud 
bo'lishini xohlaganimizda qo'llaniladi. 
java.io.Serializable - bu marker interfeysi (tanasi yo'q). Bu faqat Java sinflarini seriyali 
sifatida "belgilash" uchun ishlatiladi. 
Serializatsiya ish vaqti har bir seriyali sinf bilan serialVersionUID deb ataladigan versiya 
raqamini bog'laydi, 


seriyali ob'ektning jo'natuvchisi va qabul qiluvchisi yuklangan sinflarga ega ekanligini 
tekshirish uchun seriyani yo'q qilish paytida foydalaniladi. 
ketma-ketlashtirishga mos keladigan ob'ekt uchun. Qabul qiluvchi ob'ekt uchun sinfni 
yuklagan bo'lsa 
tegishli jo‘natuvchi sinfidagidan boshqa serialVersionUID ga ega bo‘lsa, seriyani bekor 
qilish natijasida 
InvalidClassException. Serializatsiya qilinadigan sinf o'zining serialVersionUID ni 
maydonni e'lon qilish orqali aniq e'lon qilishi mumkin. 
statik, yakuniy va uzun bo'lishi kerak bo'lgan serialVersionUID deb nomlangan: 
HAR QANDAY ACCESS-MODIFIER statik yakuniy uzun serialVersionUID = 1L; 
Qanday qilib sinfni serializatsiya qilish huquqiga ega qilish mumkin 
Ob'ektni saqlab qolish uchun tegishli sinf java.io.Serializable interfeysini amalga oshirishi 
kerak 
Ob'ektni faylga qanday yozish kerak 
Endi biz ushbu ob'ektni fayl tizimiga yozishimiz kerak. Buning uchun 
java.io.ObjectOutputStream dan foydalanamiz. 
Ob'ektni seriyali holatidan qanday tiklash mumkin 
Saqlangan ob'ektni fayl tizimidan keyinroq java.io.ObjectInputStream yordamida quyida 
ko'rsatilganidek o'qish mumkin: 
Seriyalashtirilgan sinf ikkilik shaklda. Agar sinf ta'rifi o'zgarsa, seriyani yo'qotish 
muammoli bo'lishi mumkin: qarang 
Tafsilotlar uchun Java Seriyalashtirish spetsifikatsiyasining Seriyalashtirilgan obyektlar 
bo'limi. 
Ob'ektni ketma-ketlashtirish u ildiz bo'lgan butun ob'ekt grafigini ketma-ketlashtiradi va 
mavjud bo'lganda to'g'ri ishlaydi. 


siklik grafiklar. ObjectOutputStream-ni mavjud ob'ektlarni unutishga majburlash uchun 
reset() usuli taqdim etiladi 
allaqachon seriyalashtirilgan. 

Download 342.92 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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