sexta-feira, 19 de setembro de 2008

String, StringBuffer e StringBuilder.

Hoje vou mostrar a diferença entre as classes String, StringBuffer e StringBuilder.

Porque não usar String?
Toda vez que você faz uma concatenação de strings, você está alocando um novo objeto na memória, imagine isso em um laço de repetição.
Por isso que criaram a classe StringBuffer e StringBuilder.
Com StringBuffer sendo instanciada uma vez, você pode utilizar .append() e assim sempre utilizando o mesmo objeto da memória, com a StringBuilder é igual, porem somente a StringBuffer é synchronized.

Testando esse código você verá por que! :D

int val = 100000;
//É sincronizada, utiliza o mesmo objeto.
StringBuffer sb = new StringBuffer();
long time = System.currentTimeMillis();
for (int i = 0; i < val; i++) {
sb.append("a");
//System.out.println(sb.toString());
}
System.out.println("StringBuffer tempo total da Excecução: " + (System.currentTimeMillis() - time) + "ms");

//Não é sincronizada, utiliza o mesmo objeto.
StringBuilder sb2 = new StringBuilder();
time = System.currentTimeMillis();
for (int i = 0; i < val; i++) {
sb2.append("a");
//System.out.println(sb2.toString());
}
System.out.println("StringBuilder tempo total da Excecução: " + (System.currentTimeMillis() - time) + "ms");

//Cria diversos objetos para cada concatenação.
String s = "";
time = System.currentTimeMillis();
for (int i = 0; i < val; i++) {
s += "a";
//System.out.println(s);
}
System.out.println("Tempo total de Excecução da concatenação de strings: " + (System.currentTimeMillis() - time) + "ms");



T+
Leandro kersting

terça-feira, 2 de setembro de 2008

Netbeans 6.5 beta + Facelets

Estava eu com problemas de adaptar o plugin do nbfaceletssupport no netbeans 6.1, e parece que outros já tiveram o mesmo problema, o que acontece depois das atualizações, causando um erro por causa do jspParser.

Pois então seus problemas acabaram, baixando o netbeans 6.5 beta que já vem com suporte a facelets e adicionando o nbfaceletssupport tudo funciona perfeitamente.
insight/completion, syntax highlight etc.

Voce pode baixar ele diretamente do CVS e seguir todos os passos que existem aqui neste link.

http://blogs.sun.com/poting/entry/build_and_install_facelets_support
http://blogs.sun.com/poting/entry/use_facelets_support_modules_on

Ou vc pode pegar ele pronto aqui neste link do Marcio Borges.
http://www.marciowb.net/blog/2008/07/facelets-com-o-netbeans-61

Bom acho que é isso.

Abraços.
Leandro Kersting