Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Tu scheduli una nuova istanza della classe BatchsyncroAlert ogni 5 secondi.
    Ecco perchè saturi lo heap.
    Prova a gestire un singleton di questa classe.

    codice:
    .........
    timer.scheduleAtFixedRate(BatchSyncroAlert.getSingleton(), new Date(), millis);
    .........
    
    
    public class BatchSyncroAlert {
    
        // un oggetto di tipo  BatchSyncroAlert
        private static BatchSyncroAlert singleton;
    
        private BatchSyncroAlert() {
        }
    
        public static BatchSyncroAlert getSingleton() {
            if (singleton == null) {
                singleton = new BatchSyncroAlert();
            }
            return singleton;
        }
    
        public void run() {
    
        ..........
     
        }
    }
    Ciao, Brainjar

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Il gc lo 'farebbe' ma :
    1) non sai quando e
    2) rimuove cio' che effettivamente è out-of-scope.

    Con il metodo del singleton, invece, il codice raggiunge l'obiettivo in modo
    canonico ed elegante. Prevenire è meglio che curare.
    Ciao, Brainjar

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.