Okapi Project   Web technological site for the beginner... Top

無駄なオブジェクト?

ポイント

オブジェクトの作成について理解する。

題材

先ほど作成したコンソールから連続入出力を行なうプログラムの悪い点を修正していきます。


オブジェクトは、作成すればするほどメモリを使用します。Java では、メモリの解放(オブジェクトの削除)を自動で行なうガベージコレクションという機能があります。そのため、メモリを使い切ってしまうことは少ないですが、オブジェクトを生成したり、解放したりするのは多大なコスト(CPU等)を使います。無駄なオブジェクトを生成するのは止めましょう。

Java 言語に精通していないプログラマーが作ったプログラムを実行したところ3時間もの処理時間を要しました。しかし、Java 言語に精通している SE がチェックし、無駄なオブジェクトを作成しないように修正すると、数分で処理が終わったという実話があります。

先ほどのプログラムの main メソッド

public static void main(String[] args) throws IOException {
    while(true){
        ConsoleInput ci = new ConsoleInput();
        String inputValue = ci.getConsole("入力してください。");
        if (inputValue.equals("end") 
                || inputValue.equals("END")){
                    
            System.out.println("終了しました。");
            break;
        }else{
            System.out.println("入力内容:" + inputValue);
        }
    }
}