Java.
31 件 — Java に関する記事
データ構造:スタック
スタックは先入れ後出し(LIFO)のデータ構造で、スタックトップでのみ挿入と削除が可能であり、配列または連結リストで実装できます。本記事ではスタックの基本操作、計算量、そして関数呼び出し、式の評価、コンパイラ、OS における応用を整理します。
IDEA デフォルトショートカットキー
IntelliJ IDEA のデフォルトキーマップで最もよく使うショートカットキーを、検索、編集、リファクタリング、デバッグに分類して整理し、覚え方のコツと競合の調査方法も添えます。
スレッドプールのコアスレッド数の計算方法
計算集約型、IO 集約型、混合型という 3 つのワークロードから出発して、スレッドプールのコアスレッド数の見積もり公式と、なぜ最終的には負荷テストによる調整が必要なのかを論じます。
HTTP プロトコルの発展史
HTTP が 0.9 から 3.0 へと進化してきた流れを整理します。各世代のプロトコルが何を解決し、何を課題として残したのか、そして QUIC がトランスポート層をどう再設計したのかを見ていきます。
JVM スレッドプールの拡張メカニズム
HotSpot では Java スレッドとカーネルスレッドが 1 対 1 でマッピングされ、作成・破棄のコストが高くつきます。ThreadPoolExecutor のコアパラメータ、タスク処理と拡張・回収のフロー、そして無界キューによって設定が無効になる落とし穴を整理します。
ブルームフィルタ徹底解説
ビットマップと複数ハッシュから出発して、ブルームフィルタの判定の特性、偽陽性率の由来とトレードオフ、そしてなぜ元の構造は削除をサポートせず、カウンティングブルームフィルタがどうそれを補うのかを整理します。
隠れたパフォーマンスキラー「False Sharing」
CPU の多段キャッシュと Cache Line から説き起こし、マルチコア並行環境における False Sharing(偽共有)問題の成因と、キャッシュラインパディングなどの一般的な回避手段を分析します。
分散トランザクションと Seata
マイクロサービスアーキテクチャでは各ビジネスモジュールが独立した DB ストレージノードを持ち、DB を跨ぐ呼び出しが分散トランザクション問題をもたらします。本記事では Seata の役割分担と、AT、TCC、Saga、XA という 4 つのモードの原理とトレードオフを整理します。
Fiddler のインストールと HTTPS リクエストのキャプチャ
Fiddler のインストール、システムプロキシの設定、そして偽造証明書の設定によって HTTPS 暗号化リクエストをキャプチャする原理と操作手順を紹介します。
IDEA 定番プラグインと開発ツール
日常の Java 開発でよく使う IDEA プラグインとツールを整理:SonarQube、FindBugs、CheckStyle、Maven Helper、Lombok、Key Promoter X など、ユースケースの説明付き。