CodeGym
学習
コース
課題
アンケート & クイズ
ゲーム
ヘルプ
スケジュール
コミュニティ
ユーザー
フォーラム
チャット
記事
成功事例
アクティビティ
レビュー
サブスクリプション
ライトテーマ

レッスン

  • レビュー
  • 私たちについて
開始
学習開始
今すぐ学習を始める
  • 学習の進捗
  • コース
  • クエストマップ
  • レッスン
  • CompletableFuture 入門

    JAVA 25 SELF
    レベル 55,レッスン 0
    この講義では、なぜ同期コードがブロッキングを招くのか、どのような制約が Future(ブロッキングな get() など)にあったのか、そして java.util.concurrent パッケージの CompletableFutureが非同期処理の書き方をどう変えるのかを解説します。 supplyAsync でバックグラウンドにタスクを起動し、 thenAccept/ thenApplyで結果に購読する方法を練習し、 ForkJoinPool の役割と、典型的なミス(メインスレッドでの get()/ join()、 exceptionally/ handle によるエラー処理の欠落 など)についても議論します。
    利用可能
  • 非同期タスク: thenApply, thenAccept, thenRun

    JAVA 25 SELF
    レベル 55,レッスン 1
    CompletableFuture を使った非同期計算の起動と合成を解説します: supplyAsync と runAsync でタスクを開始する方法、ハンドラーである thenApply、 thenAccept、 thenRun の違い、そして非同期版の thenApplyAsync/ thenAcceptAsync/ thenRunAsync をいつ選ぶべきか。実行スレッド( ForkJoinPool またはあなたの Executor)、結果の型( CompletableFuture<T>、 CompletableFuture<Void>)と、典型的な落とし穴についても扱います: ブロッキングな get()/ join()、 exceptionally/ handle/ whenComplete を使わないエラー未処理、さらに thenRun の中で結果を使おうとすること。
    利用可能
  • CompletableFuture の組み合わせ: thenCombine, allOf, anyOf

    JAVA 25 SELF
    レベル 55,レッスン 2
    CompletableFuture を使ってタスクを並列化し、結果を統合する方法: 2 つの結果を thenCombine/ thenCombineAsync で結合する、 allOf で複数タスクの完了を待つ、 anyOf で最も速い応答に反応する。 supplyAsync を用いた実例、ノンブロッキング処理( thenAccept, thenRun)、さらにエラーの注意点とその処理( exceptionally, handle, whenComplete)を解説。最後にメソッド比較のコンパクトな表もあります。
    利用可能
  • 非同期コードにおけるエラー処理: exceptionally, handle

    JAVA 25 SELF
    レベル 55,レッスン 3
    CompletableFuture のチェーンで例外を安全に捕捉・処理する方法を解説します。 exceptionally(エラー時のフォールバック値)、 handle(成功/失敗の汎用ハンドラ)、 whenComplete(結果を変更しない副作用)の役割を整理します。なぜ get()/ join() の直接呼び出しが原因を ExecutionException/ CompletionException にラップするのか、段階( thenApply, thenAccept)の組み合わせ方や、避けるべき典型的なミスについても説明します。
    利用可能
  • thenCompose + カスタム Executor + タイムアウト

    JAVA 25 SELF
    レベル 55,レッスン 4
    CompletableFuture で非同期ステップを thenCompose で正しく「つなぐ」方法と、 thenApply で十分な場合の見極め方。 ExecutorService( ForkJoinPool.commonPool() の代わり)で独自スレッドプールをなぜ・どのように使うか。 orTimeout と completeOnTimeout でチェーンを「無限待ち」から守る方法。最後に、カスタム Executor、 thenCompose、タイムアウトを使った実践例と、よくある誤りとその解決策を示します。
    利用可能
学ぶ
  • 登録
  • Javaコース
  • 課題のサポート
  • 料金
  • ゲームプロジェクト
  • Java構文
コミュニティ
  • ユーザー
  • 記事
  • フォーラム
  • チャット
  • 成功事例
  • アクティビティ
  • アフィリエイトプログラム
会社情報
  • 私たちについて
  • 連絡先
  • レビュー
  • プレスルーム
  • CodeGym for EDU
  • よくある質問
  • サポート
CodeGymCodeGym は、ゼロからJavaプログラミングを学ぶためのオンラインコースです。このコースは初心者がJavaを習得するのに最適です。即時検証付きの1200以上の課題と、Java基礎理論の必要な範囲を含みます。学習の成功を支援するために、クイズ、コーディングプロジェクト、効率的な学習に関するコンテンツ、Java開発者のキャリアに関する機能など、一連のモチベーション機能を導入しています。
フォローする
インターフェース言語
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
「プログラマーは生まれるのではなく、育てられる」 © 2026 CodeGym
MastercardVisa
「プログラマーは生まれるのではなく、育てられる」 © 2026 CodeGym