JVMとは
JVM(Java Virtual Machine)とはJavaバイトコードをそのプラットフォームのネイティブコードに変換して実行するためのソフトウェアのことで、ベンダーによって実装が異なるため、複数のJVMが存在します。
JVMは主にGCによってメモリの管理とJITコンパイラによるJavaの実行を行います。
GCとは、一つのスレッドで、参照されなくなったオブジェクトを削除しメモリを開放してくれます。

ヒープとは
ヒープとはJVMが使用するメモリのことで、Javaヒープと、NATIVEヒープとで構成されます。
NATIVEヒープはJVM起動時に参照されるメモリ領域で、GCの対象外になります。
これに対してJavaヒープはインスタンスなどのオブジェクトが格納されるメモリ領域のため、GCの対象となります。

Javaヒープサイズの指定
JVMに引数を渡すことによりJavaヒープ初期値(最小値)とJavaヒープ最大値を設定することが出来ます。
-Xmx 512Mと指定すると最大512MB使用することができます。
-Xms 256Mと指定すると初期値は256MBになります。
これで、Javaヒープは256~512MBになります。ヒープサイズが動的に変わるのはGCを実行してもメモリ割り当てが出来ない場合にヒープ拡張されます。(最大は512MB)
ヒープが縮小されるのは空きスペースが一定の割合を超えた時に起こります。(最小は256MB)

JVMバージョン確認方法
JVMのバージョンを確認するにはコマンドプロンプトから

java -version
で確認します。

Back to top

Information