[]パフォーマンスの最適化、効率的なコードの記事(1)

1 メモリ保存するString.intern()を使用して
 2。長い文字列の連結を、スプライシングのストリングの性能を改善することが示さのStringBuilderを使用して

 

などのstring.Splitとして正規表現、の第二に、慎重に使用することは、法(「正規表現を指定します」)

正規表現ライブラリを使用したプログラミング言語は、NFA自動機実装に基づいているでは、NFA自動機バックトラックに問題があり
、それが実行することはできません
怠惰使用して、バックトラックを避ける方法で、そして排他モード
1は。貪欲" AB { } C 1、3 " 
正規表現はバック、できるだけ多くのコンテンツを一致する
2。レイジーモード" AB {1、3}?cは" 
できるだけ重複マッチング文字
3。排他的な" AB {1、3} BCは+ 
の正規表現ではなく、バック、など多くのコンテンツにマッチします、試合は終了します失敗した
最適化:
1 排他の少ない貪欲、使用する。
 2 分岐の選択肢を減らす
など:(X- | Y- | z)は、「可能な限り使用されていない
一般的なモードを抽出するために、第二に、" (ABCD | ABEF)" - > " AB&(CD | EF)" 
3。捕獲されたネストを減らします。
():キャプチャグループ:EXP):キャプチャしない
:のような、" <* INPUT。?>()(*)(</ INPUT>)。?" - > " (:<INPUT *>)(*)(???。?。 :</ INPUT>)

 

三、ArrayListのとLinkedListの

1 。ArrayListのオブジェクトのサイズを作成するの膨張を生じる性能劣化防止するために、可能な限り初期容量を指定した場合
 2 、LikedListのより高い性能のArrayListの操作を追加および削除する際の中間及び後方位置のセットのために、膨張の場合.ArrayListが発生しません
 3。、設定されたシーンを横断するために、二つの方法で(;;)およびイテレータ()
 のために、(ランダムアクセスのArrayList支持以降)のArrayList LinkedListの高性能:(;;)モード
のArrayList LinkedListの性能特性にほぼ等しい:イテレータ()モード
したがって、LinkedListの要素を介して使用するための要素、のArrayListを横断するイテレータイテレータを使用します

おすすめ

転載: www.cnblogs.com/756623607-zhang/p/11141303.html