74-bob: To'plamlarni tanlash
Download 342.92 Kb. Pdf ko'rish
|
dasturlash maruza orginali (2)
- Bu sahifa navigatsiya:
- 75.1-bolim: Java-da asosiy seriyalashtirish
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling