あなたはアクセス数の多い ECサイト向けにキャッシュシステムを設計しています。商品カタログには数百万件の項目がありますが、そのうちごく一部(約5%)の商品が全閲覧数の80%を占めています。この状況に最も適したキャッシュ削除ポリシーはどれでしょうか。
この演習はコースの一部です
理論を実践に変える、インタラクティブな演習のひとつをお試しください
この章では、ソフトウェアの効率性分析に必要な基本スキルを身につけます。時間計算量と空間計算量を評価する方法を学び、セット、マップ、リストのパフォーマンスを比較します。章の終わりまでに、ソフトウェアのパフォーマンスを評価し、Java アプリケーションに適したデータ構造を選択するための分析的な基礎が身につきます。
この章では、Java アプリケーションのパフォーマンスを測定するための基本的な手法を学びます。`System.nanoTime()` を使ってボトルネックを特定する方法、JVM のメモリアーキテクチャの仕組み、メモリと CPU の使用状況を追跡する方法を学びます。また、ガベージコレクションと JIT コンパイルがコードの効率性にどのように影響するかについても見ていきます。
この章では、`Thread` オブジェクトと並列ストリームの両方を使ってマルチスレッド処理を活用し、複数の操作を並行して処理する方法を学びます。また、`ExecutorService` を使ったスレッドプールや、`CompletableFuture` を使った非同期プログラミングについても見ていきます。
現在の演習