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
  • Problemas de desempenho de IO: gargalos

    JAVA 25 SELF
    Nível 41,Aula 0
    Esta aula é sobre o que é um “gargalo” em entrada e saída e como detectá-lo e eliminá-lo. Vamos analisar por que operações de disco e rede são significativamente mais lentas do que a RAM, quais antipadrões aparecem com frequência (leitura byte a byte via read(), logs síncronos etc.), como os buffers ajudam ( BufferedInputStream, BufferedReader), os profilers ( VisualVM, JProfiler) e medições de tempo via System. currentTimeMillis (). Faremos um experimento prático lendo o arquivo "bigfile.txt", compararemos a velocidade com e sem buffer, veremos o impacto de SSD/HDD e da rede e listaremos erros típicos.
    Disponível
  • NIO Channels e ByteBuffer

    JAVA 25 SELF
    Nível 41,Aula 1
    Introdução prática ao I/O não bloqueante do Java NIO: analisamos como os canais Channel e os buffers ByteBuffer diferem dos streams InputStream/ OutputStream, como ler e escrever com FileChannel, como se posicionar via position()/ truncate(), trabalhar com os parâmetros do buffer ( capacity, limit, position, mark) e escolher entre allocate() e allocateDirect(). São mostradas operações de zero-copy transferTo()/ transferFrom() e erros típicos como esquecer o flip() e usar o modo de buffer incorreto.
    Disponível
  • Arquivos grandes: padrões de chunking

    JAVA 25 SELF
    Nível 41,Aula 2
    Como processar arquivos de dezenas de gigabytes com eficiência sem OutOfMemoryError: dividimos em pedaços (chunks), lemos por posições com RandomAccessFile e FileChannel, paralelizamos as tarefas com ExecutorService/ ForkJoinPool, e para cópia simples usamos zero-copy via transferTo/ transferFrom. Analisamos a escolha do tamanho do chunk, os limites de linhas, a sincronização dos resultados e erros típicos.
    Disponível
  • Trabalhando com arquivos grandes: chunking, memory mapping

    JAVA 25 SELF
    Nível 41,Aula 3
    Como processar arquivos enormes em Java com segurança e rapidez: leitura em partes (chunking) via streams e buffers, ajuste do tamanho do buffer para desempenho, uso de mapeamento de arquivo em memória com MappedByteBuffer e FileChannel para acesso aleatório ultrarrápido. Vamos analisar os prós e contras do memory mapping, recomendações sobre recursos e paralelismo, bem como erros típicos (por exemplo, OutOfMemoryError, descritores esquecidos, sobreposição de chunks em buscas).
    Disponível
  • Arquivamento/compactação: java.util.zip

    JAVA 25 SELF
    Nível 41,Aula 4
    Aula prática sobre trabalho com arquivos compactados e compressão no Java: conheça o pacote java.util.zip, os streams ZipInputStream/ ZipOutputStream e a classe de acesso aleatório ZipFile, controle os níveis de compactação via Deflater ( 0… 9, DEFAULT_COMPRESSION), trabalhe com GZIPInputStream/ GZIPOutputStream para arquivos únicos, empacote/descompacte diretórios com Files.walk e filtragem por PathMatcher ( "glob:**/*.txt"). Vamos discutir segurança: proteção contra Zip Slip por normalização de caminho e controle de tamanho para zip bomb, além de montar um mini-CLI “zip/unzip” com máscaras.
    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