JavaのGarbage collector:G1、ZGCおよび選択方法
Java 21のG1とZGCの比較:動作方法、有効化方法、GCログの読み方、実行中のGCの確認、およびSpring Bootアプリケーション向けGC選択基準
Java 21のG1とZGCの比較:動作方法、有効化方法、GCログの読み方、実行中のGCの確認、およびSpring Bootアプリケーション向けGC選択基準
LocalDate、ZonedDateTime、Duration を正しく使い分ける方法:日付計算、タイムゾーン変換、サマータイム対応、Clock を使ったテスト
List.of、List.copyOf、Collections.unmodifiableListを比較:どれがコピーか、どれがビューだけか、nullの扱い、そしていつどれを使うか。
Java 21のスレッドプール型(fixed、cached、scheduled、work-stealing、virtual thread)を比較。ThreadPoolExecutorの自己設定方法とSpring Bootでの安全な使用。
CheckedとuncheckedのExceptionの違いを理解し、適切な種類を選択し、コンテキストを持つカスタムExceptionを設計し、一般的なアンチパターンを避ける方法を学びます。
Comparator.comparing、thenComparing、reversed、nullsLast を使った複数基準ソート、よくあるエラーの回避方法を学ぶ。
Java 21でCollectors.groupingBy、partitioningBy、およびcounting、mapping、filteringなどのdownstream collectorを使ってデータをグループ化・分割する方法を学びます。
テキストブロックで複数行の文字列をよりコンパクトに書き、インデントとエスケープのルールを理解し、formatted、stripIndent、translateEscapesなどのStringの新しいメソッドを学びます。
List<Integer>がList<Number>ではない理由、いつ?extendsを使うか、いつ?superを使うか、具体例を通じたPECSの原則を理解しましょう。
try-with-resourcesを使用してリソースを自動的にクローズする方法、AutoCloseableクラスの実装方法、suppressed exceptionの理解、よくあるエラーについて。
HashMap、Collections.synchronizedMap、ConcurrentHashMapをthread-safety、ロック機構、iterator、null、パフォーマンスについて比較し、例とテストを含む。
JavaのequalsとhashCodeの契約を理解し、正しい実装方法と、HashSetやHashMapの動作を間違わせる一般的な落とし穴を説明します。
Java 21のCompletableFutureで複数のサービスを並列に呼び出し、結果をつないで合成する方法を紹介します。エラー処理、タイムアウト、非同期コードのテストも扱います。
sealed classes、switch のパターンマッチング、record patterns を使って Java 21 で長い if-instanceof チェーンを短くコードに置き換え、コンパイラに全ケースをチェックさせる
JavaのOptionalを目的に合わせて正しく使い方を解説し、一般的なアンチパターンと避け方を紹介して、より明確で安全なコードにする方法を学ぶ。
JavaのStream APIの4つの「柱」を、Order、Customerの実例を通じて学ぶ – データのフィルタリングから結果の集約まで。
Javaのrecordが解決する問題を理解し、DTO、value objectの正しい使い方、そして避けるべき場合を学びます。
Java 21のvirtual threadsを具体例で学び、platform threadとの比較、Spring Bootでの利用方法を解説します。