Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di l'anna
    Registrato dal
    Aug 2008
    Messaggi
    103

    OutOfMemory new double[...

    Ciao!
    Sto sviluppando un programmino di elaborazione di immagini, e nell'istanziare un array bidimensionale di 420 000 double per 420 000, va in OutOfMemory:
    ho provato ad inserire nei param della VM (eclipse)
    -Xms1024m -Xmx1024m
    e valori anche maggiori, ma nulla:
    dove sbaglio?

    Esiste un metodo più perforante per creare una matrice forse?

    Grazie!

  2. #2
    Quote Originariamente inviata da l'anna Visualizza il messaggio
    Ciao!
    Sto sviluppando un programmino di elaborazione di immagini, e nell'istanziare un array bidimensionale di 420 000 double per 420 000, va in OutOfMemory:
    ho provato ad inserire nei param della VM (eclipse)
    -Xms1024m -Xmx1024m
    e valori anche maggiori, ma nulla:
    dove sbaglio?

    Esiste un metodo più perforante per creare una matrice forse?

    Grazie!

    Ciao,

    fatti i conti di quanta memoria occorre per memorizzare 420000 x 420000 double
    ed il numero risultante confrontalo con la RAM del tuo PC

    HTH

  3. #3
    Utente di HTML.it L'avatar di l'anna
    Registrato dal
    Aug 2008
    Messaggi
    103
    già, che idiota che sono.
    Non sono esperta, ma , se è possibili rispondere, a grandi linee java su un pc medio per applicazioni scientifiche può essere usato?
    O come si evita di arrivare ad allocazioni simili?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da l'anna Visualizza il messaggio
    Sto sviluppando un programmino di elaborazione di immagini, e nell'istanziare un array bidimensionale di 420 000 double per 420 000, va in OutOfMemory:
    Un double sono 8 byte. Calcolatrice alla mano: 420000 * 420000 * 8 sono 1411200000000 byte ovvero ..... circa 1314 Gigabyte (1,28 Terabyte).
    Il mio PC che è molto ben "carrozzato" ha 16 Gigabyte di RAM. Pensa un po' .....

    Che ci devi fare con tutti 'sti double? Precisa meglio il tuo obiettivo ("programmino di elaborazione di immagini" dice abbastanza poco e comunque normalmente non dovrebbe implicare nemmeno lontanamente un tale quantitativo di dati) e si può valutare cosa fare.
    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 l'anna
    Registrato dal
    Aug 2008
    Messaggi
    103
    Grazie!
    Si sono stata idiota, semplicemente nell estendere un costruttore di Matrix ( imagej) mi è sfuggito un "dettaglio" : stavo creando una Img anziché di due righe, di 400000 per una variabile non correttamente gestita.
    risolta la svista, risolta l'eccezione!

    scusate per la pigra domanda!

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.