Posts Tagged ‘StringBuffer’
Optimizar las concatenaciones del texto en Java
Los problemas de perfomance al concatenar con += en vez de ocupar un objeto StringBuffer y utilizar el método append lo podemos observar en la siguiente imagen: Podemos observar que si son 20 líneas, en este caso el uso del += se tarda 745.2 veces más, y entre mas líneas este número crece. Esto se debe a que el objeto String es inmutable, por lo que cada vez que se utilizar la concatenación por medio del += se está añadiendo al Heap. Si adicional al usar el StringBuffer, inicializamos con el numero de caracteres que tendrá la cadena (en algunos casos se pueda) podemos mejorar todavía más el perfomance de la aplicación. Por Ejemplo -> cadenaDeTexto.setLength(300); El código para que puedan comprobarlos por ustedes mismos es el siguiente: public class Main { public static void main(String[] args) { //Test the String Concatenation using + operator [...]
Usando String, StringBuilder y StringBuffer. Parte 1
Siguiendo con la serie de posts para la certificación de Java SCJP(1.5 o 1.6) hoy escribire acerca de un tema corto pero importante para esta, aunque en realidad todos los temas son importantes debido a que es un examen autogenerado no sabemos que preguntas nos asignaran a la hora del examen. En esta primera parte hablare de la clase String. La clase String: Lo primero que debemos entender de la clase String es que es inmutable. Que debemos entender por inmutable? Entendemos por inmutable que al momento de crear un String este puede ser modificado una vez haya sido creado, y esto lo probare en el siguiente ejemplo: String MiCadena = new String(); MiCadena = "Probando Codigo"; // Se crea una nuevo objeto String MiCadena = MiCadena.concat("aprendiendo programacion"); // Se crea otro String Los objetos String se van almacenando en el heap. En el siguiente código pueden comprobar que un objeto String no cambia: String MiCadena = new [...]


