環境構築
☕ OutOfMemoryError (Java)
Javaメモリ不足
😰 こんな症状
Javaで「java.lang.OutOfMemoryError」が出る。大量データの処理や、長時間動作するサーバーアプリケーションで起きやすいよ。
🔍 原因
ヒープメモリが不足しているよ。ヒープとはJavaがオブジェクトを保存するメモリ領域のことで、サイズに上限があるんだ。メモリリーク(不要なオブジェクトへの参照が残っていてGCが回収できない状態)、大量データの一括読み込み、GC(ガベージコレクション=自動メモリ回収)が追いつかないなどが原因だよ。Javaのヒープサイズにはデフォルトの上限があり、それを超えるとこのエラーが発生するんだ。
❌ エラーが起きるコード
$ OutOfMemoryError (Java)
# エラー発生
✅ 直し方
1. -Xmx オプションでヒープサイズを増やす(例: java -Xmx4g で4GBに設定)。 2. メモリプロファイラ(VisualVM 等)でリーク箇所を特定する。 3. 大量データはストリーム処理やページネーションで分割して処理する。 4. 不要なオブジェクトへの参照を早めに null にしてGCに回収させる。
✅ 修正後のコード
# -Xmx でヒープサイズを増やす。メモリプロファイラでリーク箇所を特定する。
この解決法は役立ちましたか?
🔗 関連するエラー
- VS Code拡張が動かない — 拡張機能が正しくインストールされていない
- Live Serverが起動しない — Live Server 拡張機能が正しく動作していない
- npm installが失敗する — パッケージのインストールでエラーが出る
- node_modules削除後にエラーが出る — node_modulesを削除したが再インストールしていない
- .gitignoreが効かない — 既にGitで追跡されているファイルは無視されない
📖 この問題を学べるレッスン
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説