Ir al contenido principal

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!



Comentarios

Entradas más populares de este blog

Reset printer EPSON L110, L210, L300, L350, L355.

Saludos, en este post me gustaría compartir como reiniciar el siguiente error; pero antes mencionar que este error es común en la impresoras de inyección de tinta de las marcas BROTHER, CANON y EPSON. Esto es un mecanismo de protección de la impresora para evitar derrame de tinta, que pueda provocar da ños permanentes en el equipo.    EJEMPLO DEL ERROR EN EL PANEL EPSON L355 Las impresoras de tecnología de inyección de tinta incorporan una estación de servicio, que se encarga de limpiar los inyectores del cabezal antes de imprimir, al inicializar el equipo al encender y en tiempos programados por el fabricante. La tinta que se utiliza para limpiar el cabezal pasa a un depósito regularmente en la parte posterior de las impresoras. Las impresoras se bloquean precisamente para evitar que este depósito derrame tinta, a diferencia como se suele pensar las impresoras se bloquean por la cantidad de páginas impresas, sino por un conteo de la cantidad de tinta que ha pas

Reset printer EPSON L130, L220, L310, L360, L365

Saludos lectores de este humilde blog, les dejo el enlace para reiniciar el contador de las impresoras EPSON L de los modelos antes mencionado en el titulo del post. Si necesita saber como se utiliza el programa de ajuste (Adjustment Program) ir al POST que tiene los pasos. Nota: Hay que limpiar fisicamente la impresora ya que posee un taque de tinta de desperdicio que se debe cambiar o limpiar, si quieren cambiar se puede comprar en eBay . Enlace: MEGA Si tiene dudas o te gusto el POST puedes comentar. Otros post: Reset printer EPSON L110, L210, L300, L350, L355. RESET EPSON L800 FREE (GRATIS).

RESET EPSON L800 FREE (GRATIS)

Saludos a todos, aquí les dejo el programa y los pasos para resetear la impresora EPSON L800: 1- Descargar el Adjusment Program: 2- Abrir el programa(Doble click en el archivo con el nombre "AdjProg" ): 3- Presionar el botón "Accept" : 4- Presionar el botón "Particular adjustment mode" : 5- Seleccionar de la lista la opcion "Waste ink pad counter" y presionar el boton "OK" : 6- Dar clic en el checkbox "Main pad counter" y luego presionar el boton "Inicialization" : 7- Por ultimo apaga la impresora y luego cierra el programa. Ya esta desbloqueada, puede encender el equipo y utilizar la impresora. Nota: Debes limpiar la impresora físicamente, este tanque hay que cambiarlo TANK . También podrías modificar para que la tinta de desperdicio vaya a un recipiente fuera de la impresora y no tener que destapar el equipo. Si quieren ver el procedimiento de lo ultimo mencionado en un vídeo,