Ir ao conteúdo

Posts recomendados

Postado
public class OcupaMemoria {
static int quantos = 0;
static boolean finalizou = false;
double a[] = new double[100]; // apenas para ocupar espaco
public OcupaMemoria(){
quantos++;
}
protected void finalize() {
if (!finalizou){
System.out.println("Finalizou uma vez ap´os criar "+
quantos+" objetos");
finalizou = true; // n~ao imprime mais mensagens
}
}
public static void teste(){
while (OcupaMemoria.finalizou==false)
new OcupaMemoria();
}
}

Verifique quantos objetos são criados antes do coletor de lixo ser chamado para diversos tamanhos de vetor para o exemplo abaixo:

Como você explica isto ?

 

Eu ate copiei e colei esse codigo e coloquei pra rodar, mas nao ta printando nada....porque? 

E como pode explicar quantos objetos vão ter sido criados?

 

Postado

Seu código não pode rodar pois não possui o método obrigatório main.

 

A assinatura é public static void main(final String[] args), basta substituir pelo método teste.

Postado
54 minutos atrás, Cweiler disse:

Seu código não pode rodar pois não possui o método obrigatório main.

 

A assinatura é public static void main(final String[] args), basta substituir pelo método teste.

Tendi...e onde eu devo usar o system gc nesse programa se eu quiser?

E cada vez que eu rodo o programa dá um valor diferente , tipo "finalizou apos criar 32000 objetos" depois "finalizou apos criar 68000 objetos"...porque da sempre um valor diferente?

Postado

O objetivo deste exercício é didático sobre o funcionamento do GC, é exercício de aula ou livro? Deveria acompanhar as explicações, se não fica muito perdido, só os conceitos em volta do GC dão uma aula.

 

>>  onde eu devo usar o system gc nesse programa se eu quiser?

Este exercício não pede que você chame o GC explicitamente e dificilmente (muito dificilmente) você irá precisar invocar o GC em seus programas.

 

>>  cada vez que eu rodo o programa dá um valor diferent

O funcionamento do GC é controlado pela quantidade de memória disponível e ociosidade do processador, não é previsível!

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!