Garbage Collection O que é Garbage Collector? É o coletor de lixo que é utilizado pela JVM para a limpeza da memória.

Slides:



Advertisements
Apresentações semelhantes
JAVA Orientação a Objetos
Advertisements

Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
I/O Carlos Bazilio Depto de Ciência e Tecnologia
Soluções Iterativas com Laços
Programação Orientada a Objetos*
Construção de Algoritmos 2
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Sistemas distribuídos
Sockets Marco Antonio – marcoreis.net Arquiteto de Software Dezembro/2007.
Entrada e Saída Marco Antonio Arquiteto de Software Dezembro/2007.
Java Básico Arrays Marco Antonio, Arquiteto de Software – TJDF Atualizado: Fevereiro/2009.
Capítulo 1 Introdução.
Tratamento de Exceções
Programação Básica em Java
Expressões, controle de fluxo, wrappers e strings Profa
Programação Concorrente
LPG - I: Alocação Dinâmica de Memória - Ponteiros
Membros estáticos.
Uso de Orientação a Objetos em Java
CRIANDO OBJETOS EM JAVA
Concorrência em Java Threads em Java.
Threads: Introdução e Implementação
Tipos Agregados Homogêneos e Listas
Concorrência em Java Threads em Java.
Threads, Gerenciamento de Threads Pool de Threads, Grupo de Threads Variáveis Locais à Threads.
JAVA Linguagem Ambiente de Desenvolvimento
Streams –input e output
Programação I Aula 2 (Métodos)
Linguagem técnica de programação I Java
Chamada Remota de Procedimentos
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
1 Mobilidade de Código com μcode Projeto Giga Alexandre Lages
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
Capítulo 5 Garbage Collector.
Aula 3 Igor Ebrahim (ies) if669 - Introdução à Programação Monitoria de IP.
1 Introdução a C# Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 15/08/2002 Autor: Marden Menezes Costa.
Orientação a Objetos e Java Graduação em Ciência da Computação
Capítulo 1. static import  A importação estática pode ser utilizado quando queremos acessar métodos ou atributos estáticos de uma outra classe.  Através.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Membro Static.
By Ducheno Kelly Centro de Formação São Domingos.
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Paradigmas da Programação – Semestre 1 – Aula 10 Professor: Eduardo Mantovani )
Listas Simplesmente Encadeadas
Tratamento de Exceções
Programação Orientada a Objetos - Java
Introdução às Java Threads
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota (com material da Qualiti Software Process)
Coleções, Genéricos, Threads Marco Antonio. Collection Principais métodos da interface Collection.
Estrutura de Controle em JAVA
Exceções Suzana Fragoso (smpf) Adaptado do material de Guilherme Carvalho (gvc)
Exceções Profa. Patrícia A. Jaques Alterada por Leandro Tonietto abr-15.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Construtores e Destrutores
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Socket em Java.
GERENCIAMENTO DE MEMÓRIA EM JAVA ALUNOS: ANTÔNIO FLÁVIO(in memorian) E HEDLEY LUNA.
GARBAGE COLLECTOR 1 UNIVERSIDADE FEDERAL DO PARÁ - UFPA.
Laboratório de Programação II Método main Dados e Métodos de Classes.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
ProgramaçãoConcorrente Glêdson Elias
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Transcrição da apresentação:

Garbage Collection O que é Garbage Collector? É o coletor de lixo que é utilizado pela JVM para a limpeza da memória. Não se pode prever quando o mesmo será executado, porém, pode solicitar explicitamente (através do método System.gc();) a ação do garbage colector, o qual não necessariamente será executado no momento da solicitação.

Garbage Collection Como Funciona? O Coletor de lixo funciona da seguinte forma: de tempos em tempos, o garbage colector ( quando acionado pela JVM) verifica se todos os objetos alocados na memória estão sendo referenciados por alguma variável, caso não estejam, o mesmo remove o objeto da memória para que o espaço possa ser reutilizado.

Garbage Collection Código Para Constatação public class Lixo{ public static void main(String[] args) throws Exception { int cont=0; int[] array = null; while(true) { array = new int[1000]; System.out.println("Bytes livres: "+Runtime.getRuntime().freeMemory()); Thread.sleep(200); cont++; if(cont==100){ break; }

Garbage Collection O que aconteceu? Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres:

Garbage Collection As vantagens # liberdade do programador que não esta mais obrigado a ficar atento a detalhes de memória; # há menos bugs de gerenciamento de memória; # gerenciamento automático é mais eficiente que o manual.

Garbage Collection Desvantagens: # O desenvolvedor tende a estar mais desatento em relação a detalhes de memória; # O gerenciador automático apresenta limitações. # O processo reduz o desempenho do aplicativo

Garbage Collection Código com solicitação da reciclagem de memória //... while(true) { //... if(cont==50){ System.out.println("\n Solicitando...\n"); System.gc(); } if(cont==168){ System.out.println("\n garbage colector acionado pela JVM...\n"); } //... }

Garbage Collection Resultado solicitando... coletor acionado pela JVM Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres: Bytes livres:

Garbage Collection O método finalize O método finalize() é chamado pelo coletor de lixo para realizar limpeza de terminação sobre um objeto um pouco antes de o coletor de lixo reivindicar a memória do objeto. Um problema com relação a este método é que não há garantias de o coletor de lixo executar em um momento pré definido.

Garbage Collection Conclusão Em informática poucas vezes uma solução não cria novos problemas. Isto é, o garbage collector é um processo relativamente demorado e de alta prioridade que tem impacto em todo o programa que esta sendo executado. Este processo é automático (promovido pela jvm), mas o programador pode solicitar a atuação do mesmo através do comando System.gc(). Obs.: Não será necessariamente executado no momento da solicitação.

Garbage Collection Bibliografia #Java Como programar 6ª edição # Estrutura de dados e Algoritmos em Java 4ª Edição # Foruns e Pesquisas na internet