Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435

    Gestire java.lang.OutOfMemoryError: Java heap space

    Ciao,
    premetto che è una cosa strana in quanto quest'errore mi viene dato in un'operazione che sono quasi sicuro non sia per niente avara di memoria...in ogni caso sapete se è possibile "acchiapparlo" in qualche modo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    Re: Gestire java.lang.OutOfMemoryError: Java heap space

    Originariamente inviato da Dark867
    Ciao,
    premetto che è una cosa strana in quanto quest'errore mi viene dato in un'operazione che sono quasi sicuro non sia per niente avara di memoria...in ogni caso sapete se è possibile "acchiapparlo" in qualche modo?
    Bè i blocchi "try-catch" sono fatti appositamente...
    cerca la riga che lancia l'OutOfMemoryError e racchiudila nel try del tipo:

    codice:
    try{
        //riga che lancia l'errore
    }catch (OutOfMemoryError oome){
        //fai l'azioen che devi fare
    }

  3. #3
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Vero non ci ho nemmeno provato...mi ero convinto non fosse catchabile!

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Gestire java.lang.OutOfMemoryError: Java heap space

    Originariamente inviato da Dark867
    premetto che è una cosa strana in quanto quest'errore mi viene dato in un'operazione che sono quasi sicuro non sia per niente avara di memoria...in ogni caso sapete se è possibile "acchiapparlo" in qualche modo?
    OutOfMemoryError è nel ramo degli Error, che indicano generalmente qualcosa di "grave". Di norma OutOfMemoryError non lo si "cattura" (così come non si catturano gli altri Error .... se non per casi limite/estremi di logging o cose del genere).
    Anche perché se avvengono errori tipo StackOverflowError, LinkageError, ecc... vuol dire qualcosa di davvero grave a cui è molto improbabile che il programma riesca a porre rimedio da solo.

    Quindi se hai un OutOfMemoryError le cose sono due:

    O il tuo programma è scritto correttamente e ha davvero bisogno (per i dati e le computazioni che tratta) di tanta memoria, allora dovresti assicurarti che la JVM sia avviata per avere (o poter arrivare ad avere) un heap-space sufficiente.

    Oppure vuol dire che il tuo programma è scritto male e fa un cattivo uso degli oggetti, tenendo referenziati oggetti che invece non servirebbero più o facendo creare (es. in loop) moltissimi oggetti velocemente o cose del genere.

    Senza vedere il tuo codice non posso dire altro .... sarebbe più facile essere colpiti da un fulmine ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Ah ecco, ricordavo qualcosa del genere...hai un MP

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.