マンガで分かる Java入門講座

第11章 Javaのシステム
11-6. Runtimeクラス

「java.lang.Runtime」クラスの中で、よく使うメソッドについて紹介します。

● java.lang.Runtimeクラス

 「ランタイム」は、プログラムの実行に必要な部品の集合です。「java.lang.Runtime」は、そういった情報を得たりすることができるクラスです。

 Javaの全てのアプリケーションは、Runtimeクラスのインスタンスを1つだけ持ちます。このインスタンスを取得することで、様々な操作を行えます。

ソースコード)Runtimeクラスのインスタンスを取得
Runtime r = Runtime.getRuntime();


● メモリの状態を取得

 Runtimeには、メモリの状態を知るためのメソッドが用意されています。

説明)メモリの状態を取得するメソッド
// Java仮想マシンが使用を試みる最大メモリー容量を取得
public long maxMemory()

// Java仮想マシンのメモリーの総容量を取得
public long totalMemory()

// Java仮想マシン内の空きメモリーの量を取得
public long freeMemory()

 この命令を使うことで、メモリの状態をプログラム内から取得できます。

ソースコード)メモリの状態を取得
Runtime r = Runtime.getRuntime();
long f = r.freeMemory();
long t = r.totalMemory();
long m = r.maxMemory();
final float MB = 1024 * 1024;

System.out.println(""
    + "Free : " + (f / MB) + " MB\n"
    + "Use  : " + ((t -f) / MB) + " MB\n"
    + "Total: " + (t / MB) + " MB\n"
    + "Max  : " + (m / MB) + " MB"
);

出力)メモリの状態を取得
Free : 182.41739 MB
Use  : 0.95760345 MB
Total: 183.375 MB
Max  : 2721.8125 MB

● 実行ファイルの実行

 Runtimeを使うことで、実行ファイルを実行することができます。この命令は、内部的にはProcessBuilderクラスの機能を使っています。

 以下、execメソッドを使い、複数の引数付きで、アプリケーションを実行する例を示します。引数の配列の、最初の要素は実行ファイルのパスです。2つ目以降の要素は、実行ファイルの起動オプションになります。

ソースコード)実行ファイルの実行
Runtime r = Runtime.getRuntime();
try {
    r.exec(new String[]{
        "C:\Program Files\Internet Explorer\iexplore.exe",
        "-private",
        "https://www.google.co.jp/"
    });
} catch (IOException e) {
    e.printStackTrace();
}

この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/06/07  更新:2016/02/09  [Permalink]