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

ماهو سبب هذا Exception ؟؟

بدأه MKSoft في 2 مايو 2009 · 3 رد · 379 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

على حسب علمي ان الجافا تقوم بعملية Garbage Collection بشكل تلقائي , فلماذا يحصل مثل الإستثناء التالي

وكيف من الممكن حله

Exception in thread "Image Fetcher 0" java.lang.OutOfMemoryError: Java heap space
#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

ليس للأمر علافة بالgarbage collector

الJVM تحدد مقدار الذاكرة التي يستخدمها البرنامج، ولكن إذا ما أراد البرنامج استعمال ذاكرة أكثر من التي حددت له، فسيحدث OutOfMemoryError

لتغيير مقدار الذاكرة المخصصة لبرنامجك، استعمل الoption

-Xmsn

حيث n هو مقدار الذاكرة التي تريد استعمالها

مثال

java -Xms512m YourProgram

512m : initial memory allocated

**************************************************

أظن أنه يستحسن تغيير الmaximum value بدل الinitial value

يعني تبديل -Xms ب -Xmx

تم تعديل هذه المشاركة بواسطة herch في 2 مايو 2009 في 23:25

#3
اقتباس
لتغيير مقدار الذاكرة المخصصة لبرنامجك، استعمل الoption

-Xmsn

حيث n هو مقدار الذاكرة التي تريد استعمالها

كل الشكر الجزيل لك يا herch , لكن اين اكتب الأمر السابق , هل في CMD , علما بأني استخدم NetBeans , وهل الامر السابق يجب عليا تكراره في كل مرة ...

#4

السلام عليكــم ورحمـة الله وبركاتــه ،،

يمكنك إستعماله في Netbeans

projects--> right clic on your project --> choose properties --> select run on the left list (categories) "run" --> in "VM options" add the option -Xmx256m for example

أما بالنسبة للتنفيذ من console، فيجب إضافة الoption في كل مرة

يمكنك استخدام ملف sh أو bat من أجل ذلك

وسيكون من الأفضل أن تراجع الكود وتقلل من استهلاك برنامجك للذاكرة

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