Javaのパフォーマンスチューニング:の基本的なタイプのオブジェクト指向と最適化

パフォーマンスの最適化は大きなバスケット、ドレスを駆動できることがたくさんあります。パフォーマンスの最適化のより具体的な側面が、ここからの地面からの高尚な塔が、または最適化関連を使用してJavaの最も基本的な入門知識の一部からいくつかの結論と提言を行います。どのようにしても、最も基本的なAPIの使い方はしません、またはより効率的な利用を選択しないであろう、そしてJavaのパフォーマンスの最適化は、空、ましてやJVMの最適化、これらのより高度なパフォーマンス最適化の知識のウェブ最適化です。

1使用してクローンオブジェクトを作成()モード

メソッドが返すオブジェクトのオブジェクトのコピーを説明clone()メソッド、JDKのAPIドキュメントを持っているjava.lang.Objectクラス、Objectクラスから継承するすべてのクラスのJavaのデフォルト。我々は2つの点を行う必要があります。まず、むしろオブジェクトのアドレスを参照するよりも、返されたオブジェクトが新しいオブジェクトでコピーし、2番目は元のオブジェクトのコピーアウト異なる作成された新しいキーワードオブジェクトとオブジェクトのコピー、クローンである情報オブジェクトのすべてが含まれています(注深いと浅いコピーコピーという)、および初期化情報の構成方法のうち唯一の新しいオブジェクト。

私たちは、クラスのインスタンスを作成するために、新しいキーワードを使用すると、すべてのコンストラクタは、コンストラクタが自動的に呼び出されます。オブジェクトが実装した場合Cloneableインタフェースは、それをCPP制御仮想マシンによって新しいOOPオブジェクトにコピーされ、そのクローン()メソッドは、オブジェクトの元のターゲット別のコピーを作成することができる方法(ディープコピー)を、呼び出しコンストラクタメソッドを呼び出すするつもりはありません。

2避けるために、ブールの分析を

Javaではブールデータ型は8ビット(1バイト)値の形態ストアに定義されているが、真または偽のいずれかでなければなりません。

時々、私たちは、多くの場合、簡単に習慣的な思考につながる、習慣のうち、コードを記述し、習慣的な思考は、ここでは、ビジネスロジックの判断に入る前に、変数のチェックの層があると感じることができるので、差別したいが生成されたデータを参照します。ほとんどのデータ・タイプの場合、これは正しいアプローチですが、ブール変数のために、我々は不要等しい決意を回避しようとしてください。あなたは一般的に言えば、真の判定コードとのブール比較を削除しようとすると、我々は2つの利点があります。

■コード実行高速(以下5バイトのバイトコード生成)。

全体的な外観は、よりクリーンなコードを■

マルチ3三項演算子

「;他(指揮)場合は、」交換する三項演算子を使用するように単純な論理の

公共 int型の ABS1(int型A){
         返す > = 0を?: - ;
    }
    公共 INT ABS2(INT A){
         場合(> = 0 を返します他の
            リターン - 
    }

そのような配列は、オペレータが、コードルックス以下、より簡単な状態であるため、主な理由は、構造を決定します。

4方法の静的メソッド変形例

Javaでは、メソッドの静的なキーワード説明は静的です。静的メソッド、メソッド呼び出し消費の例より多くのシステムリソースに比べそう簡単にすることができ、C ++仮想関数テーブルガイド(Java仮想メソッドテーブルまたはインタフェースの)構造に類似する方法の例を維持する必要があるため多型のサポートを実装。自身が状態は保存しないいくつかの一般的に使用されるツール方法については、この方法は、メンバ変数を使用していない、彼らはステートレスなクラス、私たちは、その後、我々はそれらを宣言しようとすることができ、多重継承の状態をサポートするために書き換えることする必要はありませんされていますメソッドを呼び出してスピードアップに役立つ、静的メソッド、静的です。

Javaでは、最後のキーワードは、(メンバーおよびローカル変数を含む)、クラス、メソッド、変数を飾るために使用することができます。私たちはしばしば、このようなStringクラスは、Javaでfinalクラスであるとして、匿名内部クラスを使用して、最終的なキーワードを使用することができます。


表に示したように、我々はインスタンス変数へのアクセスに作ることができるので、最終的にキーワードによる3-9 getter / setterメソッドは、「最終」となって、このメソッドがオーバーロードされないことをコンパイラに指示します

おすすめ

転載: www.cnblogs.com/gocode/p/12216049.html