CodeGym
AI Academy
Promoção
CodeGym University
Aprendizagem
Cursos
Tarefas
Pesquisas & Questionários
Jogos
Ajuda
Cronograma
Comunidade
Usuários
Fórum
Chat
Artigos
Histórias de sucesso
Atividade
Avaliações
Assinaturas
Tema claro

Aulas

  • Avaliações
  • Sobre nós
Iniciar
Comece a aprender
Comece a aprender agora
  • Meu progresso
  • Cursos
  • Mapa da Missão
  • Aulas
  • Estrutura de memória na JVM: pilha, heap, PermGen/MetaSpace

    JAVA 25 SELF
    Nível 64,Aula 0
    Para onde vão as variáveis locais, os objetos e os metadados de classes em um processo da JVM: vamos dissecar a pilha das threads, o heap e a evolução de PermGen → MetaSpace. Vamos falar sobre como funciona o GC, quais são os erros de memória ( StackOverflowError, OutOfMemoryError) e como os flags de inicialização ( -Xss, -Xmx, -XX:MaxMetaspaceSize) influenciam. Esquemas, diagrama mermaid e um exemplo funcional acompanham.
    Disponível
  • Coletores de lixo: G1, ZGC, Shenandoah, comparação

    JAVA 25 SELF
    Nível 64,Aula 1
    Nesta aula, analisamos como funciona o coletor de lixo ( GC) na JVM, em que os clássicos Serial/ Parallel/ CMS diferem dos modernos G1, ZGC e Shenandoah, o que são as gerações jovem e antiga, por que ocorrem pausas Stop-the-World e como minimizá-las. Na prática, veremos como ativar coletores diferentes por flags ( -XX:+UseG1GC, -XX:+UseZGC, -XX:+UseShenandoahGC), ajustar pausas ( -XX:MaxGCPauseMillis) e o tamanho do heap ( -Xms/ -Xmx), ler logs ( -Xlog:gc*) e evitar erros comuns (por exemplo, chamar System.gc() explicitamente).
    Disponível
  • Variáveis locais, vazamentos de memória, referências fracas

    JAVA 25 SELF
    Nível 64,Aula 2
    Nesta aula você vai aprender onde vivem as variáveis locais (a pilha da thread) e como ela difere do heap, por que em Java ainda são possíveis vazamentos de memória apesar do GC e como evitá-los. Vamos analisar cenários reais: “eternas” static-coleções, listeners não removidos e caches. Vamos conhecer a família de referências: SoftReference, WeakReference, PhantomReference, bem como o contêiner WeakHashMap. Vamos praticar corrigir vazamentos e discutir por que chamar System.gc() — é apenas uma dica para a JVM, não uma ordem, e como pode terminar em OutOfMemoryError.
    Disponível
  • Ferramentas de análise de memória: jmap, jvisualvm

    JAVA 25 SELF
    Nível 64,Aula 3
    Guia prático para diagnosticar problemas de memória na JVM: capturamos um instantâneo da heap ( heap dump) com a ferramenta jmap, lemos os resumos via -heap e -histo, investigamos o aplicativo no jvisualvm (abas Monitor, Heap Dump, Threads, Profiler), analisamos um vazamento em um exemplo e conhecemos o Eclipse MAT e o jconsole. No final — erros comuns e dicas.
    Disponível
  • Análise de erros comuns ao lidar com memória

    JAVA 25 SELF
    Nível 64,Aula 4
    Análise prática de por que um aplicativo Java pode “vazar” memória e ficar lento: ouvintes esquecidos ( addActionListener/ removeActionListener), coleções estáticas eternas, recursos não fechados (dica: try-with-resources), classes anônimas/internas que retêm referências e abuso de System.gc(). Vamos aprender a ler logs do GC ( -Xlog:gc*, -XX:+PrintGCDetails), escolher o coletor, construir caches com WeakHashMap, monitorar ( jvisualvm, jconsole), analisar heap dump e configurar corretamente -Xmx/ -Xms. No final — exemplos reais de vazamentos e suas correções.
    Disponível
Aprender
  • Cadastro
  • Curso de Java
  • Ajuda com Tarefas
  • Preços
  • Sintaxe Java
Comunidade
  • Usuários
  • Artigos
  • Fórum
  • Chat
  • Histórias de sucesso
  • Atividade
  • Programa de afiliados
Empresa
  • Sobre nós
  • Contatos
  • Avaliações
  • Sala de imprensa
  • CodeGym for EDU
  • Perguntas frequentes
  • Suporte
CodeGymCodeGym é um curso online para aprender programação Java do zero. Este curso é uma maneira perfeita de dominar Java para iniciantes. Contém mais de 1.200 tarefas com verificação instantânea e um escopo essencial da teoria dos fundamentos de Java. Para ajudar você a ter sucesso nos estudos, implementamos um conjunto de recursos motivacionais: questionários, projetos de programação, conteúdo sobre aprendizagem eficiente e carreira de desenvolvedor Java.
Siga-nos
Idioma da interface
English Deutsch Español हिन्दी Français
Português
Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programadores se formam, não nascem" © 2026 CodeGym
MastercardVisa
"Programadores se formam, não nascem" © 2026 CodeGym