Rendimiento en Java: manejo de Cadenas (String)



El rendimiento de cualquier aplicación es fundamental para el usuario, asi tambien para el equipo donde se ejecuta. Esto determina muchos factores como la duración de la batería en un SmartPhone, el tiempo de uso del procesador que podría hacer que una PC se freeze.

Los objecto String en Java son mutuales "No cambian después de ser creados", entonces es aconsejable que se utilicen solo para texto que no cambian con frecuencia durante la ejecución de la aplicación.






Ejemplo: Almacenar el nombre del Usuario, ruta hacia
un archivo, imagen, entre otros.

Entonces que hacer si necesitamos manejar una aplicación que depende de cadena dinámicas. Existen clase que nos facilitan el trabajo, estas son StringBuilder y StringBuffer.

Sus principales métodos son append y insert que están sobrecargados para cualquier tipo de datos. Cuando se inicializa un StringBuilder vacio su capacidad es de 16 caracteres, expande su tamaño cuando se necesita, también se puede inicializar con una capacidad n. La diferencia entre StringBuilder y StringBuffer es que una viene para trabajar en multihilo y la otra no.


Clase       |   StringBuilder  |   StringBuffer   |
MultiHilo |            NO           |            SI           |

Los siguientes ejemplos son simples: se Inicializa una variable que contendrá la cadena a concatenar "sumar" mediante un ciclo for unas 30,000 veces. Antes del ciclo se obtendrá hora/fecha en milisegundos y cuando finalice, así podremos ver el tiempo transcurrido
en la operación.Los siguientes ejemplos son simples: se Inicializa una variable que contendrá la cadena a concatenar "sumar" mediante un ciclo for unas 30,000 veces. Antes del ciclo se obtendrá hora/fecha en milisegundos y cuando finalice, así podremos ver el tiempo transcurrido en la operación. 


Primer ejemplo concatenando con los operadores +=:

Salida del programa:






Segundo ejemplo concatenando con el método concat de la clase String:
 
Salida del Programa:






Tercer ejemplo concatenando utilizando la clase StringBuilder y su método append:

  Salida del programa:





Si quieren seguir aprendiendo mas sobre las clases StringBuilder y StringBuffer pueden leer la documentación oficial. 

Bajar el código del ejemplo.
chrome://mega/content/secure.html#!nxVyGQYA!elMh7Ls21NbkUDCTZ-R4a1HCF8OnTBNWYvV294kerLI



Si te gusto comenta!



Popular posts from this blog

RESET EPSON L800 FREE (GRATIS)