To pensando aki, é correto colocar no construtor o objeto = new Objeto(); ?
publci class Teste{
Pessoa pessoa;
public Teste(){
pessoa = new Pessoa();
}
}
eu nao vo criar um objeto toda vez q ela for chamada? isso nao vai carrega o servidor?
To pensando aki, é correto colocar no construtor o objeto = new Objeto(); ?
publci class Teste{
Pessoa pessoa;
public Teste(){
pessoa = new Pessoa();
}
}
eu nao vo criar um objeto toda vez q ela for chamada? isso nao vai carrega o servidor?
To pensando aki, é correto colocar no construtor o objeto =new Objeto(); ?
publci class Teste{ Pessoa pessoa; public Teste(){ pessoa = new Pessoa(); } }eu nao vo criar um objeto toda vez q ela for chamada? isso nao vai carrega o servidor?
Ai é que entra a sua experiência como desenvolvedor.
No meu ponto de vista, a resposta é: depende.
Há vários aspectos a serem analisados, como o tipo de sistema que está sendo desenvolvido, suas propriedades, características, direcionamento entre outros.
Isso pode simplesmente não afetar em nada o teu sistema ou pode ser mais um motivo de estar acumulando memória gratuitamente com criação de objetos que não serão utilizados.
Há situações em que isso será correto e em outras não, ai você precisa parar e pensar se vale ou não a pena fazer isso.
Depende… é necessário ter uma Pessoa instanciada nesse momento?
Depende… Pessoa compõe Teste? para cada Teste terá que ter uma instancia de Pessoa? Se sim então é correto!
Hmm deu pra entender melhor…
existe alguma ferramenta, que eu consigo analisar a memória do servidor, e tipo, qual página que eu acesso que consome mais memória?
para ver gargalo…
tpow eu tenho 3 página, login, cadastro de pessoa, e sei lá, cadastro de produto… cada uma com um jeito diferente de desenvolver… existe como eu testar isso?
sobre o assunto inicial, as vezes eu faço assim:
public class Teste{
Pessoa pessoa = new Pessoa();
public Teste(){
}
}
Dessa forma, é válido para todos os construtores.
Instanciar um objeto carrega quase nada a mais no servidor, mas exceto que você tenha algum método pesado dentro do construtor, mas se você tiver muitas construções em pouco intervalo de tempo, pode afetar um pouco o desempenho. Você pode considerar duas coisas, a primeira, a perda de desempenho que você tem instanciando mais objetos no servidor é significativa (tipo, se você sempre tiver que buscar algo na base de dados, pode ser um pouco mais lento do que deveria). E se você instancia muitos desse objeto.
Agora, sobre o acesso de memória, conheço só o jhat http://download.oracle.com/javase/6/docs/technotes/tools/share/jhat.html
Exemplo de como se usa: http://www.lshift.net/blog/2006/03/08/java-memory-profiling-with-jmap-and-jhat
Hmm deu pra entender melhor…existe alguma ferramenta, que eu consigo analisar a memória do servidor, e tipo, qual página que eu acesso que consome mais memória?
para ver gargalo…tpow eu tenho 3 página, login, cadastro de pessoa, e sei lá, cadastro de produto… cada uma com um jeito diferente de desenvolver… existe como eu testar isso?
Tem um post bem interessante para você ler com calma.
Creio que ele possa esclarecer essa sua dúvida e lhe ser muito útil, assim como a todos nós.
Segue: http://submundojava.com.br/2010/04/18/avaliacao-desempenho-sistemas/
Abraços.
bom vc pode pensar por varios lados.
se for pensar na forma de customizar memoria. o correto seria estanciar o objeto sempre que for necessario.
no caso de se previnir para nao acontecer os nullpointer da vida é mais facil iniciar no construtor pois vc sempre garantirá que sera instaciando o objeto.
depende da situação e a ultilização deste objeto!
no meu ponto de vista 