Corsi on-line

Stringhe e prestazioni nelle applicazioni Java

L’utilizzo di oggetti String all’interno di un sorgente Java deve essere sempre valutato con attenzione, le stringhe infatti rischiano di rendere un’applicazione più pesante del necessario in termini di memoria richiesta, un elemento che potrebbe gravare sul livello generale delle prestazioni; si pensi per esempio alle concatenazioni eseguite attraverso l’operatore “+”, utilizzarle all’interno di un ciclo for potrebbe allungare eccessivamente i tempi di esecuzione di un programma per il semplice fatto che, ad ogni iterazione del ciclo, verrà prodotto un nuovo oggetto String.

Si pensi ora ad un altro caso, quello dell’istanza di un oggetto String, per far questo è possibile utilizzare la classica procedura basata sull’introduzione di un costruttore:

String pippo = new String("Generazione di un oggetto String");

Il codice proposto è assolutamente corretto, ma potrebbe risultare molto più lento di quello basato su un’istanza diretta, come nell’esempio seguente:

String pluto = "Generazione di un oggetto String";

Per cui nell’economia di un codice sorgente molto complesso e ricco di istanze, utilizzare il secondo metodo potrebbe rivelarsi estremamente utile per rendere un’applicazione maggiormente performante.

Post correlati
  • Ciro Cardone

    Ciao, da Java 6 in poi non è più necessario usare questi accorgimenti poichè è stato introdotto un supporto per l’operatore “+”. Tramite tale supporto per la concatenazione di stringhe viene usato sempre uno StringBuilder o uno StringBuffer.

    😉

  • Claudio Garau

    Grande Ciro! Grazie per la precisazione 🙂

I più letti del mese
Tematiche