ループ処理の最適化
非効率的なループ
int a = 1;
int b = 2;
int[] c = {0, 0, 0};
String[] array = new String[10000] ;
for (int i = 0 ; i < array.length ; i++) {
c[0] += a + b;
array[i] = (new Integer(c[0])).toString();
}
無駄な処理を外出しにする 繰り返し内でaとbは不変なので、計算するコストを省けます。 配列を外出しにする 配列の要素への参照は、配列境界のチェックのためのオーバーヘッドが発生します。c[0]のような、固定された要素への参照が繰り返し現れる場合は、外出しにすることで、このオーバーヘッドを省けます メンバー呼び出しをなくす 繰り返し終了条件で、オブジェクトのメソッドやフィールドを使うと、毎回ヒープ領域への参照が発生します。int型のローカル変数にコピーすることで、オブジェクトの参照と、そのメンバーの呼び出しのコストを省けます。 オブジェクト生成をなくす 繰り返しごとにオブジェクトを生成する負荷は馬鹿になりません。可能であれば、外出しにすべきです。
修正したループ
int a = 1;
int b = 2;
int[] c = {0, 0, 0};
String[] array = new String[10000] ;
int s = 3;
int c0 = c[0];
int len = array.length ;
for (int i = 0 ; i < len ; i++) {
c0 = c0 + s;
array[i] = Integer.toString(c0);
}
c[0] = c0;
分享到:
相关推荐
* 年月日時のスラッシュ入りフォーマット(年/月/日) */ public static final String YYYYMMDD_SLASH = "yyyy/MM/dd"; /** * 年月のスラッシュ入りフォーマット(年/月) */ public static final String YYYY...
java coding 日语方面的规则
Java_コーディング規約.doc
Java_コーディング規約.pdf
riyudedededededededededededede
Java_コーディング規約.pdf.zip
Java_コーディング規約.doc.zip
自己要用的东西java规约
家 产品特点 页脚 真正 标题 细节 可读性 保守,可読性の指标は复数あり,デベロッパーごとに判断がブレ,それぞれのスタイルで记述すると,ソフトウ...しかし,常にパフォーマンスを优先したソースコードは人间の読め
クラス 継承 修飾子 インターフェース パッケージ 例外処理 マルチスレッド
Android アプリ開発の基礎知識と実務スキルを身に付けるトレーニングコース 前提 このトレーニングコースに入る前に、下記の知識・スキルについて勉強しておいてください。 Java の知識・スキル Java言語プログラ...
环境构筑 去介绍 视窗 ...antlr4コマンドが使えるようにバッチファイルを作成してパスを通す java org.antlr.v4.Tool %* インストールのテストを行う > java org.antlr.v4.Tool ANTLR Parser Generat
枚ーカーの実装ジョーカーをスえない52枚のカードを想定役役はロイヤルストレートフラッシュ,ストレートフラッシュ,ストレート,フラッシュ,フォーカード,スリーカード,フルハウス,ツーペア,ワンペア手榴はは...
滚滚的天空进化ローリグスカイの二次创作ゲームがWEBとAndroidアプリで登场!超难易度の鬼畜ステージのクリアを目指せ!このゲームはあくまで二次创作です。 ↓立即播放↓ 利用规约本利用规约(以下“本规约”といい...
ソースコードのステップ数のカウントのほか、変更前後のソースコードのステップ比較、指定キーワードのカウント、市販の静的解析ツールと連携した警告数のカウントができます。 これらのカウントは、ファイル単位だ...
エンタープライズクラスのシステム开発における生产性向上を主目的とした,javaベースのローコード开発プラットフォームです。 码头工人 > docker pull iplass/iplass-standalone > docker run -p 8080:8080 -e ...
-- 汉字テストを行うアプリケーションです。プログラミング言语:Java Spring
AtCoderの问题ページから,ユニットテストを生成するFirefox / Google Chromeアドオンです。 ダウンロード Firefox版本: Google Chrome版: 対応言语 Java(JUnit) Kotlin(JUnit) C#(MS测试) Python3...
MQ JAVA インターフェース.pdf
benchmark-indexeddb:Dexie越しのindexeddbにおいて,どのスキーマがどのように动作するのか确认するリポジトリ