| Arquivo: Lampada.java |
| //
Lampada.java // Classe Lampada public class Lampada { // atributos public boolean acesa; // metodos public void ligar() { acesa = true; } public void desligar() { acesa = false; } } /* Lampada (from default) -------------- + acesa boolean -------------- + desligar() + ligar() */ |
| Arquivo: testando_coleta_de_lixo.java |
| //
testando_coleta_de_lixo.java public class testando_coleta_de_lixo { public static Lampada lamp; public static void main (String args[]){ lamp = new Lampada(); lamp.ligar(); System.out.println("Lampada Criada (Acesa = " + lamp.acesa + ")"); lamp.desligar(); System.out.println("Lampada Criada (Acesa = " + lamp.acesa + ")"); lamp = null; try { lamp.ligar(); System.out.println("Lampada Criada (Acesa = " + lamp.acesa + ")"); lamp.desligar(); System.out.println("Lampada Criada (Acesa = " + lamp.acesa + ")"); } catch (java.lang.NullPointerException e) { System.out.println("O Construtor lamp esta na Coleta de Lixo."); } Runtime rt = Runtime.getRuntime(); System.out.println("Memoria: " + rt.freeMemory()); System.out.println("Liberando memoria com System.gc()"); System.gc(); System.out.println("Memoria: " + rt.freeMemory()); System.out.println("O Construtor lamp NAO esta mais na Coleta de Lixo."); lamp = new Lampada(); lamp.ligar(); System.out.println("Lampada Criada (Acesa = " + lamp.acesa + ")"); lamp.desligar(); System.out.println("Lampada Criada (Acesa = " + lamp.acesa + ")"); System.out.println("Memoria: " + rt.freeMemory()); } } /* Resultado: Lampada Criada (Acesa = true) Lampada Criada (Acesa = false) O Construtor lamp esta na Coleta de Lixo. Memoria: 61464664 Liberando memoria com System.gc() Memoria: 62332176 O Construtor lamp NAO esta mais na Coleta de Lixo. Lampada Criada (Acesa = true) Lampada Criada (Acesa = false) Memoria: 61983512 */ |