Salve a tutti,
sono nuovo del sito e volevo esporre un problema molto strano.
Metre cercavo di creare un programmino java che lavorasse in background mi sono accorto, tramite un anvir security suite(un task manager avanzato per win), che il mio programma continuava ad allocare memoria, fino a quando, anche 2 giorni dopo, il sistema risultava inutilizzabile.
Pensavo fosse un problema del codice scritto da me; invece ho voluto fare una contro-prova:
ho creato un nuovo programma java: una semplice finestra con tre bottoni che non fanno nulla (ho usato awt);
ho lanciato la finestra creata e di nuovo tramite anvir security suite mi sono messo ad osservare le statistiche del processo(cioè la parte relativa alla memoria usata dal processo); ecco il risultato:
-la memoria allocata cresce in continuazione, seppur lentamente;
-la memoria cresce anche se passo il mouse sopra i bottoni della finestra, senza cliccare;
So bene che esiste il metodo System.gc() per "suggerire" al garbage collection di agire; ma nella relativa documentazione si parla solo di suggerimento(ho pure aggiunto un bottone alla finestra per lanciare il gc, ma non cambia nulla: la memoria conrinua a crescere).
Non vorrei lanciare conclusioni affrettate, ma puo' essere un problema che gli ingegnari della sun non hanno ancora visto, oppure esiste una soluzione?
Grazie in anticipo.