الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماذا عن الدوال البانيه والهادمه في ال java

مغلق
بدأه fatahalrhman في 6 فبراير 2003 · 4 رد · 1,087 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اتضخ ان الجافا تضم دوال بانيه فقط وهي تقوم بتحرير الذاكره بنفسها من

خلال java virtual machine وهذه ميزه لا تتوفر في لغات البرمجه الاخري

لذا تستخدم تطبيقات ال java في smart cards وغيرها من الاستخدامات في

التطبيقات الحساسه الاخري .............................................................

خلاصه الجافا لا تحتوي علي دوال هادمه.

#2

لا الدوال الهادمة موجودة ...

لأن الميثود finalize() موجود في الكلاس Object ويتم نداءها عندما لا يكون هناك حاجة للكائن خلاص ويتم ندائها عن طريق الـ Garbage Collector

لا تستطيع ندائها بنفسك لأن الوصول إليها protected لكن يكفي وضع الكائن بقيمة null لتتخلص منه (في الواقع هذه طريقة لجعل garbage collector ينادي finalize() للأبوبجكت )

class A {

	int x ;

	A()
	{
		x = 0 ;
	}

	A(int num)
	{
		x = num ;
	}

	int getX()
	{
		return x;
	}
}

class Tester {

	public static void main(String[] args)
	{
		A b = new A(7);

		System.out.println(b.getX());	// okay

		b=null;

		System.out.println(b.getX());   // Null pointer Exception



	}
}
#3

بسم الله الرحمن الرحيم

بالفعل الدوال الهادمة موجودة و لكن ليست بالصورة نفسها الموجودة فى اللغات الأخرى فالجافا لا تجبرك من برمجتها فالـ GC يقوم بهذه العملية و لكن النصيحة هنا الا تستخدمها و لو تصفحنا وثائق صن نجد انها تنصح بعدم استخدامها و ترك الأمر للـ GC لكن هناك بعض المواقف التى يعجز فيها GC عن العمل أو قد يعانى قصورا خاصة فى موارد الملفات لسبب ما هنا تستخدم finalize

خالد المصرى

#4

ok

#5

خالد ...

لا تستطيع أن المستخدم لا يستطيع أن ينادي finalize أبدا لأنها protected

بالله عليك إذا كان عندك الوثائق عطني الوصلة حقها

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…