É correto usar objeto = new Objeto() no construtor?

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?

[quote=alandiniz]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?[/quote]

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

[quote=alandiniz]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?[/quote]

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 :smiley: