4.2.2 Vaqtinchalik xotira xavfsizligi
4 Xotira va tur xavfsizligi
E'tibor bering, ko'rsatgich faqat fazoviy xavfsizlik uchun qaytadan
kuchga kirishi mumkin. Agar asosiy ob'ekt bo'shatilgan bo'lsa,
ko'rsatgich yana haqiqiy bo'la olmaydi.
35
Misol uchun, ko'rsatgich ob'ekt chegarasidan oshib ketishi mumkin.
Agar
u kamaytirilsa, u yana kuchga kirishi mumkin.
Vaqtinchalik xotira xavfsizligini buzishning turli shakllari mavjud.
Ajratilgandan so'ng, ob'ektning xotirasi yozilgunga qadar o'qilishi
mumkin, bu sohada oldindan ajratilgan ob'ektdan ma'lumotlarni qaytaradi.
Eskirgan ko'rsatgichdan asosiy ob'ekt xotira ajratuvchisiga
qaytarilgandan so'ng va hatto ushbu xotira boshqa ob'ekt uchun
qayta ishlatilgandan keyin ham foydalanish mumkin. Vaqtinchalik
xotira xavfsizligi buzilishi, agar quyidagi misolda ko'rsatilganidek ,
asosiy xotira ob'ekti bo'shatilgan bo'lsa sodir bo'ladi :
Vaqtinchalik xotira xavfsizligi - bu barcha xotira yo'qotishlarining
bekor qilish vaqtida haqiqiyligini ta'minlaydigan
xususiyatdir, ya'ni
ko'rsatilgan ob'ekt ko'rsatgich yaratilgan paytdagi bilan bir xil bo'ladi.
Ob'ekt bo'shatilganda (masalan, to'plangan ob'ektlar uchun bepul
qo'ng'iroq qilish yoki stek ob'ektlari uchun funktsiyadan qaytish
orqali), asosiy xotira endi ob'ekt bilan bog'lanmaydi va ko'rsatgich
endi haqiqiy emas. Bunday noto'g'ri ko'rsatgichga murojaat qilish
vaqtinchalik xotira xavfsizligi xatosiga va aniqlanmagan xatti-
harakatlarga olib keladi.
Machine Translated by Google
Java-da xotira xavfsizligi dasturlash tili va ish vaqti tizimi tomonidan
amalga oshiriladi. Dasturlash tili ko'rsatgichlarni havolalar bilan
almashtiradi va to'g'ridan-to'g'ri xotiraga kirish mumkin
Agar aniqlanmagan xotiraga kirish yoki chegaradan tashqarida
bo'lsa yoki asosiy xotira
ajratuvchiga qaytarilsa , xotira xavfsizligi
buziladi. Xotira xavfsizligini baholashda ko'rsatkichlar qobiliyatga
aylanadi, ular ajratilgan xotiraning aniq belgilangan hududiga
kirishga imkon beradi. Ko'rsatkich manzil, pastki chegara,
yuqori
chegara va haqiqiylik to'plamiga aylanadi . Pointer arifmetikasi
kortejni yangilaydi. Xotirani ajratish amal qilish muddatini yangilaydi.
Dereference qobiliyatini tekshiradi. Bu imkoniyatlar bilvosita
qo'shiladi va kompilyator tomonidan amalga oshiriladi. Imkoniyatga
asoslangan xotira xavfsizligi ikki tur uchun tur xavfsizligini ta'minlaydi: ko'rsatkich turlari va skalerlar.
Ko'rsatkichlar (va ularning imkoniyatlari) faqat xavfsiz tarzda yaratilgan.
Ko'rsatkichlar faqat o'zlariga tayinlangan, hali ham amal
qiladigan hududga ishora qilsa,
ularni yo'qotish mumkin.
Do'stlaringiz bilan baham: