パフォーマンス最適化されたコードは、法の最適化-15バーということを忘れてはなりません

3、コードの最適化

最適化、動作環境の最適化だけでなく、あなたはコード自体を最適化するために行う必要があり、パフォーマンス上の問題がある場合は、コード自体、そして最適化が最適を達成することはできませんかの他の側面。

3.1、可能な限りローカル変数を使用するには、

配信メソッド呼び出しのパラメータとコールで作成した一時変数が速く、など静的変数、インスタンス変数、などの他の変数は、ヒープ、低速で作成されたスタックに格納されています。また、操作の方法で作成したスタック変数は、コンテンツがなくなって、追加のガベージコレクションを完了していません。

演算変数の重複を最小限に抑えるために3.2、

明確な概念は、メソッド呼び出しでは、方法は一つだけの文章であっても、また消費されます。したがって、たとえば、次の操作:

for (int i = 0; i < list.size(); i++)
{...}

推奨代替品:
ここに画像を挿入説明

このように、はlist.size()の時間の多くは、それが消費の多くを軽減します。

3.3、必要なときにのみ作成され、可能な限り遅延ロード戦略、

ここに画像を挿入説明

3.4、例外は、プログラムの流れを制御するために使用すべきではありません

パフォーマンスへの異常な有害。例外は、新しいオブジェクトを作成するために最初にスローされ、Throwableのコンストラクタ関数呼び出しインタフェースと呼ばれるfillInStackTrace()ローカル同期方法にfillInStackTrace()メソッドは、収集情報コール追跡にスタックをチェックします。新しいオブジェクトがプロセスで作成されているため、限りスローされる例外があるとして、Java仮想マシンは、コールスタックを調整する必要があります。例外は唯一のエラー処理のために使用することができ、プログラムの流れを制御するために使用すべきではありません。

3.5、公共の静的な決勝として配列を宣言しません

これは無意味であるため、それだけで静的な決勝のための基準を定義し、またはアレイの内容を自由に変更することができ、配列は公共のセキュリティ上の脆弱性として宣言され、その配列は、クラス外で変更することができることを意味します。

3.6、使用しない一部のオブジェクトを作成していない使用していない、いくつかのクラスをインポートしていません

これは、コードは「で表示された場合には、無意味であるThe value of the local variable i is not used」、「The import java.util is never used」、そしてこれらの役に立たないコンテンツを削除します

3.7、プログラムは、リフレクションを使用しないように実行されています

Javaのリフレクションは非常に強力な強力を持つユーザーは、多くの場合、非効率的な手段を提供することです。特に、頻繁な使用は、特にプログラムの方法が実行されてinvokeメソッドでは、リフレクションを使用することは推奨されません。

実際には、暗示的なアプローチが必要である場合、これらのクラスは、インスタンス化オブジェクトを反射し、メモリ内に配置することによって、プロジェクトの開始時にロードする必要が反映されています。

3.8、データベース接続プーリングとスレッドプールを使用して

両方のプールは、頻繁にスレッドを作成し、破壊回避再利用のためのオブジェクト、頻繁前者回避開閉接続、です。

3.9、として指定された長さの初期化容器

指定などの初期化などの容器の長さ、新しいのArrayList <>(10);新しいHashMapの<>(32)、容器の不十分な長さ、性能、コストの拡大を回避します。

3.10、速いArrayListをランダムトラバーサル、LinkedListのアド削除速いです

3.11、エントリトラバース地図を使用します

ここに画像を挿入説明
この方法を使用しないでください。
ここに画像を挿入説明

3.12は、手動にSystem.gc()を呼び出さないでください。

3.13、文字列は正規表現の使用を最小限に抑えます

正規表現ものの、強力な、あまり効率的で、必要がない限り、またはできるだけわずか。

  • replace() 定期的にサポートしていません。
  • replaceAll()これは、通常のサポート
    のみ推奨置換文字が交換した場合)(。

出力ログのレベルに注意を払うために3.14、

// 当 前 的 日 志 级 别 是 error 
LOGGER.info("保存出错!" + user);

推奨される3.15、リソースを閉じる()が別々に操作しました

ここに画像を挿入説明

リリース1064元の記事 ウォンの賞賛888 ビュー40000 +

おすすめ

転載: blog.csdn.net/weixin_42528266/article/details/103990883