Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    43

    Eccessivo utilizzo memoria applicazione SWT

    Salve ho sviluppato un'applicazione gestionale di magazzino standalone in SWT. Ho notato che durante il procedimento di inserimento degli articoli nella fattura mi aumenta di molto l'occupazione di memoria. Quando chiundo la schermata della fattura la memoria non si scarica per cui quando la riapro di nuovo la memoria aumenta di molto. Ho installato JProfiler ma mi dice che la memoria è utilizzata molto da byte[] e da char[]. Come faccio a sapere in quali punti c'è un eccessivo dispendio di memoria e quali sono gli oggetti coinvolti?

    Grazie

    Stefano

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Dovresti iniziare ad ottimizzare la tua applicazione: ricontrolla ogni funzione e cerca di usare stringbuffer al posto di stringhe (se fai append) e non caricare informazioni che non usi.
    Purtroppo se non dici che applicazione è al momento di più non posso dirti

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    43
    Si grazie, comunque io volevo sapere più che altro se qualcuno sapeva come interpretare ed utilizzare i risultati di JProfiler visto che mi dice che c'è un eccesso di istanze byte[] e char[] in memoria. Secondo me il risultato non è veritiero perchè io non utilizzo variabili byte o char.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ni, fai uso massiccio di stringhe?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    43
    No secondo me JProfiler con il termine char[] intende le proprietà String degli oggetti che utilizzo

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    appunto se ci sono tanti "char [] " hai tante stringhe e devi ottimizzare, visto che dentro string hai

    private final char value[];

    indicante proprio il valore che inserisci

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    43
    Si penso proprio sia così. Adesso il problema è ottimizzare

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Inizia con usare StringBuffer quando devi fare la query: ogni "+" significa che viene creata una stringa nuova, cioè

    codice:
    String tmp = "ciao" + "pippo";
    String tmp2 = "ti dico " + tmp;
    hai in memoria 5 stringhe, visto che ogni concatenazione ne crea una nuova a partire dagli operandi

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    43
    OK grazie

  10. #10
    Originariamente inviato da valia
    Inizia con usare StringBuffer quando devi fare la query: ogni "+" significa che viene creata una stringa nuova, cioè

    codice:
    String tmp = "ciao" + "pippo";
    String tmp2 = "ti dico " + tmp;
    hai in memoria 5 stringhe, visto che ogni concatenazione ne crea una nuova a partire dagli operandi
    Si ma sono 5 stringhe con la stessa occupazione di memoria di "ti dico ciao pippo" tutto assieme, o al limite con in più lo spazio per la seconda reference...diciamo che a mio avviso non sono queste le cose su cui ti devi concentrare ottimizzare. Controlla piuttosto di non mantenere troppi riferimenti che non vanno mai fuori scope e quindi non sono deallocabili dal garbage collector. Poi prova anche qualche altro strumento di monitoraggio della memoria oltre a quello che hai usato, magari ne trovi uno che ti da info più dettagliate. Io purtroppo non sono un esperto quindi non te ne posso consigliare alcuno se non googlando io stesso, tanto vale...
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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.