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
  • Streams primitivos e o custo do boxing

    JAVA 25 SELF
    Nível 33,Aula 0
    Nesta aula, vamos entender por que os streams “normais” de coleções de números ( Stream<Integer>, Stream<Double>) podem ser ineficientes por causa do boxing/unboxing e como os streams primitivos — IntStream, LongStream, DoubleStream — ajudam a evitar isso. Veremos conversões mapToInt/ boxed(), operações de agregação ( sum(), average(), summaryStatistics()), resultados seguros com OptionalInt/ OptionalDouble, além de onde a otimização realmente traz ganho e como medir o efeito com o JMH.
    Disponível
  • Processamento preguiçoso (lazy evaluation) no Stream API

    JAVA 25 SELF
    Nível 33,Aula 1
    Nesta aula, analisamos como funciona o processamento preguiçoso no Stream API: em que os operadores intermediários e terminais diferem, por que os cálculos começam apenas após a chamada de um terminal, e quais vantagens oferecem o processamento elemento a elemento e as “operações de curto-circuito”. Vamos mostrar cadeias com filter, map, peek, findFirst, forEach, visualizar a passagem dos elementos e discutir erros típicos e recomendações sobre a ordem eficiente das operações.
    Disponível
  • Coleções imutáveis: Collections.unmodifiable

    JAVA 25 SELF
    Nível 33,Aula 2
    Nesta aula, analisamos como proteger dados usando os wrappers imutáveis Collections.unmodifiableList, unmodifiableSet, unmodifiableMap, qual é a diferença entre imutabilidade “superficial” e “profunda”, quando e por que retornar wrappers a partir de métodos, bem como alternativas modernas List.of/ Set.of/ Map.of. Falaremos sobre erros típicos (por exemplo, esperar imutabilidade profunda ou trabalhar com null) e por que tentativas de modificação resultam em UnsupportedOperationException.
    Disponível
  • Spliterator e streams paralelos

    JAVA 25 SELF
    Nível 33,Aula 3
    Na aula, analisamos o que é o Spliterator, como ele permite não apenas iterar sobre elementos, mas também dividir a fonte de dados em partes com trySplit(), como os streams paralelos funcionam a partir disso via parallelStream() e o pool comum ForkJoinPool. São mostrados os métodos-chave ( tryAdvance, estimateSize, characteristics), características típicas ( ORDERED, SIZED, CONCURRENT e outros), exemplos práticos, um diagrama Mermaid e erros comuns ao usar streams paralelos.
    Disponível
  • 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
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