Java é pesado e lento, acho q vou voltar p Delphi ...  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
touresfinge
Debugger
[Avatar]

Membro desde: 08/06/2006 10:14:23
Mensagens: 74
Offline

Ola pessoal!

Estou adorando programar em Java, mas só q as aplicações em Java para Desktop, ficam muito pesadas e lentas, alguém saberia como resolver isso ? Ou será q realmente não tem jeito ....

Estou pensando em voltar p Delphi ...

Se alguém souber d uma solução p favor ... me ajudaria muito .. gostaria de continuar c Java ...

Um grande abraço a todos ....

Odair Menezes.
[MSN]
getAndSet
JavaChild
[Avatar]

Membro desde: 25/09/2006 20:27:00
Mensagens: 138
Offline

Olá realmente java ainda esta um pouco "pesado" para desktop se seu programa sera somente para windows eu adotaria .Net apesar de gosta muito de java mais se seu software tende-se a ser multiplataforma quando vc chegar para fazer um negocio e falar que seu software roda em varios S.O isso vai fazer a diferença...
Existe o SWT em java, ouvi falar que é mais leve que o swing.. mais vc pode dar uma pesquisada sobre o SWT para ter certeza..

a questao é multiplataforma ou windows ?

flw
[MSN]
Rodrigo.Lima
JavaChild
[Avatar]

Membro desde: 14/07/2006 09:45:21
Mensagens: 128
Offline

Nem é tão lento assim. Baixa o java 6.
touresfinge
Debugger
[Avatar]

Membro desde: 08/06/2006 10:14:23
Mensagens: 74
Offline

Eu ja uso a versão 6, e até q a interface grafica num ta muito lenta msm não, o q fica lento é a conexão c o BD, tou usando mysql, e qdo trabalhando c uma qtidade de dados razoavel fica dvagar, tipo importar um arquivo d Texto c umas 3000.000 linhas , em java no tempo q eu importo 10.000 eu importo as 3000.000 linhas e gravo no BD, então tou preocupado mais na frente, qdo estiver c muitas informações e o sistema ficar muito lento c os clientes. C Delphi n vou ter esse problema, pq ja tenho aplicações rodando em Delphi.
Eu gostaria muito d uma aplicação Multi-plataforma, pq eu adoro Linux. Meu Pc e not, são particionados c os 2 S.O, p isso a escolha p Java, já q eu Rodo o msm codigo nos S.O diferentes .....

Bom é isso .... então se alguém tiver alguma dica, desde já agradeço, pq num queria deixar Java não , adoro muito essa linguagem ...


Odair Menezes.
[MSN]
RicardoLuis
JavaEvangelist

Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline

Importar de arquivo texto?
De uma pesquisada no pacote java.nio.

A performance do pacote java.nio é maior que em C++.
dkotvan
HelloWorld
[Avatar]

Membro desde: 07/05/2006 14:02:19
Mensagens: 12
Offline

Não deveria estar tão lento comparado ao Delphi, e nem necessariamente mais lento.
Você pode postar o trecho do código que faz esta operação? Talvez o pessoal do forum possa ajudar a ver o que tem de errado.
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

Olá,

Por acaso você está fazendo tudo na mesma thread?

Basicamente, se você estiver, a aplicação fica parada enquanto espera a resposta. Você deve utilizar outra Thread.

Procure no Google sobre SwingWorker. Um pouco de Google também:

http://www.google.com.br/search?hl=pt-BR&q=swing+threads&btnG=Pesquisar&meta=

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

O SwingWorker vai te ajudar bastante, mas tem também a forma de programar ...

um exemplo bem simples só pra ilustrar o que eu estou falando ...

tente executar estes dois códigos (estou escrevendo aqui no forum, pode ter algum errinho):


e este:


Dica, execute o segundo primeiro, pois o primeiro exemplo vai demorar muito para rodar ...

para leitura do arquivo, você esta usando substring ou o Scanner?

o scanner vai te dar uma performance muito melhor se em utilizado ...

ou seja, se você souber utilizar, o java vai ter uma performance excelente ...
usando isto em conjunto com o SwingWorker vai ficar muito boa a performance, possivelmente melhor que no delphi ...

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

ahh, mais uma coisa ...
se não me engano o swingworker ja esta incluido no java6

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
bzanchet
Java Ninja

Membro desde: 18/05/2006 20:04:34
Mensagens: 256
Offline

Acho que deu pra perceber a principal desvantagem do java, não é?

A longa curva de aprendizado.

http://conceitua-se.blogspot.com/
[WWW] [MSN]
touresfinge
Debugger
[Avatar]

Membro desde: 08/06/2006 10:14:23
Mensagens: 74
Offline

Vejam só parte do codigo:

FileReader reader01 = new FileReader(caminho);
BufferedReader leitor01 = new BufferedReader(reader01);
while ((linha = leitor01.readLine()) != null) {
if ( linha.substring(0,2).equals("10")) {
if ( telaImportacaoSintegra.importacaoSintegra.jChkR10.isSelected() == true ) {
dado01 = linha.substring(0,2) ;
dado02 = linha.substring(2,16) ;
dado03 = linha.substring(19,30) ;
dado04 = linha.substring(30,65) ;
dado05 = linha.substring(65,95) ;
dado06 = linha.substring(95,97) ;
dado07 = linha.substring(97,107) ;
dado08 = linha.substring(107,115) ;
dado09 = linha.substring(115,123) ;
dado10 = linha.substring(123,124) ;
dado11 = linha.substring(124,125) ;
dado12 = linha.substring(125,126) ;

// - Formata campos
dado08 = dado08.substring(0,4) + "/" + dado08.substring(4,6) + "/" +
dado08.substring(6, ;
dado09 = dado09.substring(0,4) + "/" + dado09.substring(4,6) + "/" +
dado09.substring(6, ;

// - Grava no Banco de dados
this.setReg10(Integer.toString(codigo10) , dado01 , dado02 , dado03 ,
dado04 , dado05 , dado06, dado07, dado08 , dado09, dado10 ,
dado11 , dado12 ) ;
i ++ ;
}
}
}

E estou usando tdo dentro do SwingWorker .
Uso o substring , não sei usar o scaner, mas vou pesquisar ....

Vlw msm galera pelas dicas q estão me dando, realmente o aprendizado é um poko complicado e n tenho grande tempo o q me prejudica muito.

Parei c Delphi e começei a estudar Java, logo depois estava desenvolvendo e sanando as Duvidas c as necessidades, com certeza uma pessima forma de aprendizado, mas eu n poderia parar d desenvolver e apenas estudar .....

Bom VLW MSM ....

Odair Menezes.
[MSN]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

Olá,

Recomendo que você estude bastante Java antes de pensar em fazer esta comparação e de colocar código em produção. Este trecho mostra que você precisa entender mais sobre estruturas básicas como arrays e buffers (que são os mesmos de Delphi, aliás), além de classes da biblioteca padrão que fazem o que você está fazendo na mão e conceitos como dividir um programa em funções menores.

Quanto ao arquivo, a menos que estejamos falando de milhões de linhas não há porque utilizar NIO. O problema no caso parece ser que você lê do arquivo e salva do banco em cada em cada linha. Guarde estes registros em uma lista e faça essa inserção de uma vez.

A propósito, você abre uma conexão com o banco de dados cada vez que faz um insert? Se sim altere isso apra reutilizar a mesma conexão em todos eles.

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html#addBatch()
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
touresfinge
Debugger
[Avatar]

Membro desde: 08/06/2006 10:14:23
Mensagens: 74
Offline

Como eu coloco tdo em uma lista e faço a inserção de uma só vez?

Odair Menezes.
[MSN]
juzepeleteiro
Virtual Machine Man

Membro desde: 19/07/2005 16:01:40
Mensagens: 583
Localização: Rio de Janeiro
Offline

touresfinge wrote:Como eu coloco tdo em uma lista e faço a inserção de uma só vez?


cv wrote:http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html#addBatch()

http://ofert.as - Cupons de desconto
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team