حل لمشكل java.lang.OutOfMemoryError: Java heap space

حل لمشكل  java.lang.OutOfMemoryError: Java heap space

السلام عليكم

أثناء كتابتي لأحد البرامج بالجافا صادفني مشكل عدم توفر الذاكرة اللازمة لتنفيذه

رسالة الخطأ هي:

java.lang.OutOfMemoryError: Java heap space

و هذا لأن البرنامج عبارة عن JADE Agent  يقوم بالتنقل من جهاز إلى آخر حاملا معه مجموعة من الملفات

بعض بحث على النت وجدت أنه يجب الطلب من الـ Java Virtual Machine  بحجز ذاكرة أكبر

يتم ذلك كالتالي:

java -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=1000M YourClass

حيث أن YourClass  هو اسم الـ class الذي سيتم تشغيله  بالطبع  يجب حذف الـ .class  من اسم الـ class  في هذا السطر

أرجو أن تكون هذه الطريقة هي حل لمشكلتك أيضا :D

9 thoughts on “حل لمشكل java.lang.OutOfMemoryError: Java heap space

  1. تكتب في سطر الأوامر (command line) لتشغيل البرنامج

    فمثلا إذا كان الملف الذي تود ترجمته هو test.java
    و الملف موجود في المجلد
    c:\Mysources\

    اكتب الأوامر التالية في سطر الأوامر حتى تفوم بترجمة الملف و من ثم تشغيله

    cd c:\MySources
    java test.java
    java -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=1000M test

    إذا لم يكن شرحي واضحا يمكنك أن تطلب توضيحات أكثر🙂

  2. السلام عليكم ورحمة الله وبركاته

    ارجو منك يا اخي التوضيح اكثر و جزاك الله خير لانو طلب منناالدكتور استخدام compiler directive to increase the memory size

    و انا استخدم الجافا فالطالب الذي يستطيع ان يزيد في حجم الذاكره او البافر سوف يحصل على بونس محترم جدا و انا لا اعرف كيف اعمل ذالك با ستخدام الجافا فأرجو الارشاد و التوجيه

  3. i tried what you said steps by steps but it gave me this error:

    C:\>java Histo.java
    Exception in thread “main” java.lang.NoClassDefFoundError: Histo/java
    Caused by: java.lang.ClassNotFoundException: Histo.java
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    Could not find the main class: Histo.java. Program will exit.

    and im pretty sure that the file does exist
    Can you help on this

    thanks in advance

التعليقات مغلقة.