Estou fazendo manutenção em um código onde me deparei com varias maneiras de fazer
a mesma coisa, mas no decorrer desta, me surgiram algumas dúvidas qual é a melhor
maneira de se fazer está codificação.
E qual é a maneira que utiliza a melhor pratica e beneficio para a programação.
// Maneira 1
public class MemoriaTeste {
for(int i = 0 ; i < 100 ; i++) {
Aluno aluno = new Aluno();
aluno.fazAlgo();
}
}
// Maneira 2
public class MemoriaTeste {
Aluno aluno = new Aluno();
for(int i = 0 ; i < 100 ; i++) {
aluno.fazAlgo();
}
}
[code]
// Maneira 3
public class MemoriaTeste {
Aluno aluno = null;
for(int i = 0 ; i < 100 ; i++) {
aluno = new Aluno();
aluno.fazAlgo();
}
}[/code]
Dos tres trechos de código, qual é a que possui melhor performance para a JVM,
e melhor pratica deodificação.
Este código e uma situação hipotetica, sabendo que pode ocorrer em situações
maiores e bem mais complexas.
O objeto tem atributos distintos, a única coisa e que estou com a suspeita de que seu criar 100 vezes o objetos,
possa fazer com que a JVM não aguente.
Ou eu estou me preocupando a toa. Este processo que foi descrito aqui está sendo utilizando junto ao quartz.
acho que vc está confundido recursividade com criação de objetos vc pode criar quantos objetos achar necessario… que isso é diferente de recursividade… por exemplo a jvm nao suporte isso
void metodo(){
metodo();
}
estouro de pilha na certa…
Bom esse seu exemplo nao reflete no desempenho da jvm, se nao to equivocado o que vai refletir mesmo sao as classes que utilizar, a comunicacao de seu sistema como outro… entre outras coisas… o que pode afetar apenas é o tempo q leva para percorrer… mais dizer que a jvm vai ficar lenta ou mais rapida… isso acho que n rola…
Obrigado pela resposta, a questão não e recursividade, e que estou passando por um problema,
pois estou utilizando o Quartz em uma aplicação, só que por algum motivo a aplicação, trava por algum
motivo, e após um determinado tempo ela volta a funcionar do nada.
Eu estava desconfiando que ocorre-se algum problema referente a queda da jvm, mas infelizmente eu
não estou conseguindo comprovar o motivo real. Este sistema possui muita geração de arquivo, e roda
muita procedures.
Você tem alguma idéia do caminho que eu poderei seguir.
[quote=hugov] Obrigado pela resposta, a questão não e recursividade, e que estou passando por um problema,
pois estou utilizando o Quartz em uma aplicação, só que por algum motivo a aplicação, trava por algum
motivo, e após um determinado tempo ela volta a funcionar do nada.
Eu estava desconfiando que ocorre-se algum problema referente a queda da jvm, mas infelizmente eu
não estou conseguindo comprovar o motivo real. Este sistema possui muita geração de arquivo, e roda
muita procedures.
Você tem alguma idéia do caminho que eu poderei seguir. [/quote]
hmmmm…
tvz uma ferramenta de profile de banco te ajude!!
Isso tem cara de lock de banco! Quando as procedures rodam elas lockam o banco e a aplicação para, e quando terminam de executar
soltam, e a aplicação volta a funcionar.