CodeGym
Promoção
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
  • Collector e Spliterator personalizados

    JAVA 25 SELF
    Nível 33,Aula 4
    Nesta aula, analisamos como escrever coletores personalizados para a Stream API via Collector e quando isso realmente faz sentido, além de como implementar seu próprio Spliterator para percorrer dados de forma eficiente, tanto sequencial quanto paralelamente. Veremos passo a passo os componentes de um coletor ( supplier, accumulator, combiner, finisher, characteristics), exemplos para multi-mapas e top N, estratégias de trySplit, bem como a configuração correta das características ( ORDERED, SIZED, SUBSIZED e outros).
    Disponível
  • List.of, Set.of, Map.of — coleções imutáveis

    JAVA 25 SELF
    Nível 34,Aula 0
    Nesta aula analisamos as coleções imutáveis no Java 9+: os métodos de fábrica List.of, Set.of, Map.of e Map.ofEntries. Vamos compará-los com os invólucros Collections.unmodifiableList, discutir limitações (proibição de alterações, proibição de null, proibição de duplicatas para conjuntos e chaves do mapa), ordem dos elementos e desempenho. Veremos o limite de 10 pares para Map.of e as exceções típicas: UnsupportedOperationException, NullPointerException, IllegalArgumentException. Além disso, exemplos práticos de quando essas coleções simplificam o design e aumentam a segurança de leitura entre threads.
    Disponível
  • Map.copyOf, Set.copyOf e outras utilidades

    JAVA 25 SELF
    Nível 34,Aula 1
    Nesta aula analisamos as cópias imutáveis de coleções introduzidas no Java 10: List.copyOf, Set.copyOf e Map.copyOf. Você descobrirá como elas diferem dos wrappers Collections.unmodifiable*, quais restrições se aplicam (proibição de null, imutabilidade), quando o mesmo objeto é retornado e por que não se deve confiar em uma implementação específica. São mostrados cenários práticos de uso e erros típicos, incluindo a confusão com Map.of e Map.ofEntries.
    Disponível
  • Coleções CopyOnWrite, wrappers não modificáveis

    JAVA 25 SELF
    Nível 34,Aula 2
    Nesta aula, analisamos duas abordagens para “proteger” coleções: os invólucros (wrappers) não modificáveis de Collections.unmodifiable* e os métodos de fábrica List.of/ Set.of/ Map.of, além de CopyOnWriteArrayList e CopyOnWriteArraySet, que são thread-safe, do pacote java.util.concurrent. Vamos entender como um invólucro difere da verdadeira imutabilidade, onde as estruturas CopyOnWrite são úteis e quais erros típicos ocorrem na prática.
    Disponível
  • Coleções mutáveis vs imutáveis: diferenças e uso

    JAVA 25 SELF
    Nível 34,Aula 3
    Nesta aula, analisamos as diferenças entre coleções mutáveis e imutáveis em Java: quando escolher ArrayList/ HashSet e quando — as coleções de fábrica do Java 9+ ( List.of, Set.of, Map.of) e as cópias via copyOf. Falaremos sobre segurança, segurança entre threads, facilidade de depuração, armadilhas dos wrappers Collections.unmodifiableList e exemplos práticos de uso, bem como erros comuns e como evitá-los.
    Disponível
  • Novas coleções: SequencedCollection, SequencedSet, SequencedMap

    JAVA 25 SELF
    Nível 34,Aula 4
    No Java 21 surgiram interfaces de coleções ordenadas — SequencedCollection, SequencedSet e SequencedMap. Elas adicionam um contrato unificado para trabalhar com a ordem dos elementos: acesso rápido ao primeiro/último elemento e inversão da coleção via reversed(). Nesta aula, veremos quais coleções padrão já as implementam, quais métodos apareceram, como aplicar isso em código real, além de erros típicos e nuances de uso.
    Disponível
  • Fundamentos de java.io e java.nio: diferenças e evolução da API

    JAVA 25 SELF
    Nível 35,Aula 0
    Esta aula — um guia rápido sobre a evolução da E/S de arquivos no Java: do pacote “clássico” java.io com as classes File, os streams FileInputStream/ FileOutputStream e os de caracteres Reader/ Writer ao moderno java.nio.file (NIO.2) com Path, Files e FileSystem. Vamos ver em que os enfoques diferem, onde o I/O assíncrono leva vantagem, como migrar com segurança ( File . toPath() ⇄ Path . toFile()) e também revisar exemplos práticos, um guia de escolha de API e erros comuns.
    Disponível
  • Classes File, Path, Files: visão geral, criação de objetos

    JAVA 25 SELF
    Nível 35,Aula 1
    Nesta aula, analisamos três entidades-chave da API de arquivos do Java: o histórico File, a abstração moderna de caminho Path do NIO.2 e a classe utilitária — um “canivete suíço” — Files. Na prática, veremos como criar objetos, converter File ↔ Path, “juntar” caminhos com segurança usando resolve, obter caminhos relativos com relativize, normalizá-los com normalize e executar operações como Files.exists, Files.copy, Files.move, Files.readAllLines/ Files.write. Resultado — compreensão clara de quando usar cada abordagem e quais erros aparecem com mais frequência.
    Disponível
  • Leitura e escrita de arquivos: operações básicas

    JAVA 25 SELF
    Nível 35,Aula 2
    Nesta aula, veremos maneiras rápidas de trabalhar com arquivos por meio dos utilitários java.nio.file.Files: ler o arquivo inteiro ( readAllBytes, readAllLines) e gravar dados ( write) com a codificação explícita StandardCharsets.UTF_8. Vamos discutir o tratamento de exceções IOException, mostrar exemplos práticos, falar quando usar APIs de stream ( BufferedReader, BufferedWriter) e analisar erros típicos.
    Disponível
  • Modos de trabalho com arquivos: leitura, gravação, anexação

    JAVA 25 SELF
    Nível 35,Aula 3
    Nesta aula, analisamos os modos de trabalho com arquivos em Java: sobrescrita e anexação, combinações de opções StandardOpenOption (por exemplo, APPEND, CREATE, TRUNCATE_EXISTING, CREATE_NEW), trabalho com texto e bytes via Files.write()/ Files.readAllBytes(), quando escolher streams ( BufferedReader/ BufferedWriter) e como tratar corretamente exceções ( IOException etc.). Muitos exemplos práticos e análise de erros típicos.
    Disponível
  • Trabalhando com diretórios: criação, exclusão e visualização do conteúdo

    JAVA 25 SELF
    Nível 35,Aula 4
    Aula prática sobre trabalhar com o sistema de arquivos usando java.nio.file: criamos diretórios com Files.createDirectory e Files.createDirectories, removemos com Files.delete e Files.deleteIfExists, listamos o conteúdo com Files.list e estudamos a exclusão recursiva com Files.walkFileTree. Exemplos passo a passo, um mini‑gerenciador de arquivos e uma seção com erros típicos vão ajudar você a trabalhar com pastas com segurança em qualquer SO.
    Disponível
  • BufferedReader, BufferedWriter: bufferização, vantagens

    JAVA 25 SELF
    Nível 36,Aula 0
    Por que ler e escrever arquivos “com uma colher de chá” sai caro: vamos ver como a bufferização acelera a E/S de texto em Java. Veremos como BufferedReader e BufferedWriter funcionam sobre FileReader/ FileWriter, usaremos leitura linha a linha com readLine(), escrita e quebra de linha com write()/ newLine(), descarregamento forçado com flush(), definiremos o tamanho do buffer e entenderemos as codificações via InputStreamReader/ OutputStreamWriter. Quando aplicar bufferização, quando não — e quais erros acontecem com mais frequência.
    Disponível
  • 1
  • ...
  • 15
  • 16
  • 17
  • 18
  • 19
  • ...
  • 30
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