戻る

Simple, Open, Share

Home
トップページ 会社案内 Javaコーディング標準 開発系メモ Q&A

6、パフォーマンス

(68) まず計測

パフォーマンス改善はまず計測から始めよ.当てずっぽうではだめ.

(69) new

javaでは,newは時間が掛かる.
ヘビーなループの中でnewが呼ばれる場合,必要ならば出力引数を用いる.

    X getX() {
        return new X(this.value);
    }

が遅い場合,呼び出し側にnewを任せ,
    void getX(X x) {
        x.setValue(this.value);
    }

とせよ.

(70) synchronized

synchronizedは時間が掛かる.
全クラスを同期化せず,必要な部分のみ synchronizedせよ.

また,Vector, Hashtable はデフォルトで同期化のオーバーヘッドがある.
ArrayList, HashMapを好んで用い,
必要な部分のみ同期化せよ

(Collections.synchronizedCollection による外部同期).

(71) 変数へのnullの代入

使われない変数が大量に発生する場合,積極的にnullを代入せよ.
特に,配列の要素(パフォーマンス要求が厳しい場合).

理由: ガベージコレクションを助ける.

©2014 Powered by 株式会社開成