トップ 言語 Java 例外処理、メモリ管理、主なコマンド Javaのガベージコレクション(garbage collection:GC)とは

Javaのガベージコレクション(garbage collection:GC)とは―ガベージコレクタや留意点など

ガベージコレクタや留意点など。Javaのガベージコレクション(garbage collection:GC)とは何かについてまとめています。

▲記事トップへ

目次

この記事の目次です。

1. ガベージコレクション(garbage collection:GC)とは
2. ガベージコレクタ
3. ガベージコレクションの留意点

もっと知識を広げるための参考
更新履歴

1. ガベージコレクション(garbage collection:GC)とは

Javaには、ガベージコレクションの機能が備わっています。 このガベージコレクション(garbage collection:GC)とは、JVMが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能です。

Javaプログラマムを記述する際に、あまりJVMの内部処理には注意を向けないかもしれませんが、 信頼性が高く、パフォーマンスの良いJavaシステムを構築するためには必要な知識です。 Full GCの問題などもありますのでGCの知識は身につけておきたいです。

2. ガベージコレクタ

ガベージコレクションは、ガベージコレクタと呼ばれる機能により実現されます。

メモリーは無限にあるわけではなく、限られた資源です。 Javaで何も設定しないで動かした場合、デフォルトで256MBのメモリを使います。 数十GB積んでいても設定しないと256MBです。

このように制限があるメモリを使用して、新しいオブジェクトにメモリがちゃんと割り当てられるように、 ガベージコレクタは、メモリ内を調べて、どこからも参照されなくなったメモリ領域を解放して、再割り当てされるように最適化します。

3. ガベージコレクションの留意点

ガベージコレクションの機能でメモリ管理が自動で行われるのはいいのですが、 いつ実行されるか分からず、制御できないのが難点となる場合もあります。

ガベージコレクションが実行されるタイミングは、オブジェクトが参照されなくなった時点ではなく、 JVMに与えられるメモリが使い切られる直前になります。

ガベージコレクションが行われている間は、プログラムの動作が中断します。 ガベージコレクションが、短いタイミングで何度も実行されると、プログラムの動作が遅くなってしまいます。

JVMへのメモリの割り当てが小さすぎると頻繁にGCの処理が発生し、プログラムの動作が遅くなったり、思わぬ障害の原因となったりします。 デフォルトの256MBでは不足が生じるような大きなプログラムを動かす場合など、Full GCが頻繁に発生しないように十分なメモリの割り当てとチューニングが必要となります。 十分なマシンのメモリを用意して、JVMが使用するメモリ、ヒープ領域(New領域、Old領域)や非ヒープ領域(Permanent領域)などJava 起動オプション(-Xxxx)でチューニングする必要があります。

もっと知識を広げるための参考

更新履歴

更新履歴になります。

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

18.227.0.57

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク