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 CompletableFuture

    JAVA 25 SELF
    Nível 55,Aula 0
    Nesta aula, veremos por que o código síncrono leva a bloqueios, quais limitações havia em Future (como o get() bloqueante) e como a classe CompletableFuture do pacote java.util.concurrent muda o estilo de trabalho com assincronia. Vamos praticar executar tarefas em segundo plano com supplyAsync, registrar-se para o resultado com thenAccept/ thenApply, discutir o papel do pool ForkJoinPool e erros típicos: usar get()/ join() na thread principal, não tratar erros com exceptionally/ handle etc.
    Disponível
  • Tarefas assíncronas: thenApply, thenAccept, thenRun

    JAVA 25 SELF
    Nível 55,Aula 1
    Vamos analisar a inicialização e a composição de computações assíncronas com CompletableFuture: como iniciar tarefas via supplyAsync e runAsync, em que os handlers thenApply, thenAccept, thenRun diferem, e quando escolher suas versões assíncronas thenApplyAsync/ thenAcceptAsync/ thenRunAsync. Vamos falar sobre threads de execução ( ForkJoinPool ou seu Executor), tipos de resultados ( CompletableFuture<T>, CompletableFuture<Void>) e erros típicos: chamadas bloqueantes get()/ join(), erros não tratados sem exceptionally/ handle/ whenComplete, bem como a tentativa de usar o resultado dentro de thenRun.
    Disponível
  • Combinando CompletableFuture: thenCombine, allOf, anyOf

    JAVA 25 SELF
    Nível 55,Aula 2
    Como paralelizar tarefas e unir resultados com CompletableFuture: combinação de dois resultados via thenCombine/ thenCombineAsync, espera de um conjunto de tarefas com allOf, reação à resposta mais rápida com anyOf. Vamos analisar as assinaturas, exemplos práticos com supplyAsync, processamento não bloqueante ( thenAccept, thenRun) e também nuances de erros e seu tratamento ( exceptionally, handle, whenComplete). No final — uma tabela compacta de comparação dos métodos.
    Disponível
  • Tratamento de erros em código assíncrono: exceptionally, handle

    JAVA 25 SELF
    Nível 55,Aula 3
    Como capturar e tratar exceções com segurança em cadeias de CompletableFuture: entendemos os papéis de exceptionally (valor de fallback em caso de erro), handle (tratador universal de sucesso/erro) e whenComplete (efeitos colaterais sem alterar o resultado). Vamos discutir por que chamadas diretas a get()/ join() encapsulam a causa em ExecutionException/ CompletionException, como combinar etapas ( thenApply, thenAccept) e quais erros comuns evitar.
    Disponível
  • thenCompose + Executor personalizado + timeouts

    JAVA 25 SELF
    Nível 55,Aula 4
    Como “encadear” corretamente etapas assíncronas em CompletableFuture com thenCompose e quando basta thenApply; como e por que usar um pool de threads próprio via ExecutorService (em vez de ForkJoinPool.commonPool()); como proteger cadeias contra “espera eterna” com orTimeout e completeOnTimeout. No final — um exemplo prático com Executor personalizado, thenCompose e timeout, além de erros típicos e suas soluçõ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