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
  • Introdução ao paralelismo

    JAVA 25 SELF
    Nível 54,Aula 0
    Nesta aula, analisamos a diferença entre multithreading e paralelismo: onde importa a responsividade e onde há aceleração real em vários núcleos. Vamos discutir a criação de threads por meio de Thread, a implementação de Runnable e pools de alto nível ExecutorService, ver um exemplo simples de soma de um array, entender quando o paralelismo ajuda e quando atrapalha, bem como problemas típicos: condições de corrida, sincronização com synchronized, deadlocks e balanceamento de carga. No fim — uma tabela comparativa e uma visualização de cenários.
    Disponível
  • ExecutorService, Callable, Future: execução de tarefas

    JAVA 25 SELF
    Nível 54,Aula 1
    Prática de multithreading de verdade: enviamos tarefas para o ExecutorService em vez de criar Thread manualmente, gerenciamos o pool, a fila e o ciclo de vida ( shutdown(), shutdownNow()). Analisamos a diferença entre Runnable e Callable<T>, obtemos resultados via Future e seus métodos ( get(), isDone(), cancel(...), isCancelled()). Mostraremos a execução de várias tarefas, invokeAll/ invokeAny, o tratamento de ExecutionException e erros comuns.
    Disponível
  • Streams paralelos: sintaxe e aplicação

    JAVA 25 SELF
    Nível 54,Aula 2
    Entenda como alternar um fluxo de dados sequencial para processamento paralelo com uma única linha — usando parallelStream() ou .parallel(), o que acontece por baixo dos panos em ForkJoinPool.commonPool(), quando o paralelismo realmente acelera os cálculos (coleções grandes, operações “pesadas”) e onde ele pode até atrasar. Mostraremos exemplos de filtragem, agregação, ordenação, medição de desempenho e analisaremos erros típicos: efeitos colaterais em forEach, preservação de ordem, escolha de coleções e configuração do grau de paralelismo.
    Disponível
  • ForkJoinPool e RecursiveTask: tarefas recursivas

    JAVA 25 SELF
    Nível 54,Aula 3
    Guia prático de computação paralela em Java: como funciona o pool de tarefas ForkJoinPool e as tarefas recursivas RecursiveTask<T>/ RecursiveAction, por que o algoritmo de work-stealing é útil, como dividir tarefas com fork() e combinar resultados com join() dentro de compute(). Veremos a execução via pool.invoke(), um exemplo de soma de array e busca do máximo, o papel de ForkJoinPool em parallelStream(), além de erros típicos e como evitá-los.
    Disponível
  • Melhores práticas de programação paralela

    JAVA 25 SELF
    Nível 54,Aula 4
    Guia prático de programação paralela em Java: quando usar ExecutorService, onde parallelStream ajuda e para quais tarefas é necessário ForkJoinPool. Vamos discutir segurança de thread com ConcurrentHashMap/ CopyOnWriteArrayList e classes atômicas ( AtomicInteger), medições de desempenho via System.nanoTime() e JMH, tratamento de erros de Future.get() e ForkJoinTask, reação correta a InterruptedException, bem como técnicas de logging ( Thread.currentThread().getName()) e de testes ( Awaitility). No final — uma tabela de escolha de ferramenta e erros típicos.
    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