Quando instâncio um objeto, estou carregando TODO o objeto na memória ou apenas métodos acessados?

2 respostas
ricardospinoza

Digamos que eu tenha um objeto com três métodos, quando dou o new para instânciar estou reservado espaço de memória para todo o objeto, ou a jvm aloca memória quando acesso um método ou outro?

2 Respostas

Andre_Brito

Eu acho que é o objeto todo.
Só que, se for um método static, eu já fico meio confuso.

B

Programas usam dois espaços de memória, um para guardar o código a ser executado, e outro para as variáveis.

O espaço do código é o mesmo para todas as instâncias do objeto de uma mesma classe.

O espaço de variáveis de instância são independentes entre cada objeto.

Variáveis de classe são a exceção, ficam num espaço de variáveis, mas é compartilhado por todos os objetos da classe.

Infelizmente não sei dizer se o código de todas as classes é carregado todo de uma vez quando o programa é executado, ou se é somente quando usado. Porém, a memória p/ objetos é somente alocada qdo eles forem instanciados.

Criado 20 de junho de 2008
Ultima resposta 20 de jun. de 2008
Respostas 2
Participantes 3