ホームページ >Java >&#&チュートリアル >Java でのコード最適化のヒント
人気があり広く使用されているプログラミング言語である Java のコード最適化スキルも、開発者が注目しているものの 1 つです。この記事では、プログラムのパフォーマンスを向上させるために一般的に使用される Java コード最適化テクニックをいくつか紹介します。
Java では、String は不変であるため、文字列の結合が実行されるたびに新しい String オブジェクトが作成されます。重い文字列処理を実行するときのプログラムのパフォーマンス。したがって、可変文字列クラスである StringBuilder を使用して文字列連結の String を置き換えることができ、それによってプログラムのパフォーマンスが向上します。
サンプルコードは以下のとおりです。
String str = ""; for(int i=0; i<1000; i++){ str += i; }
は次のように置き換えることができます。
StringBuilder sb = new StringBuilder(); for(int i=0; i<1000; i++){ sb.append(i); } String str = sb.toString();
ArrayList の場合、HashMap などのコレクションクラスは、頻繁な展開操作をある程度回避できるよう、初期容量を指定して使用するのがベストです。特に、コレクションに格納されている要素の数が多い場合、この最適化の効果はより顕著になります。
サンプル コードは次のとおりです:
List<Integer> list = new ArrayList<>(); // 进行大量操作 list.add(1); list.add(2); list.add(3);
は次のように置き換えることができます:
List<Integer> list = new ArrayList<>(1000); // 进行大量操作 list.add(1); list.add(2); list.add(3);
Java 7 では、リソースを自動的に閉じるために try-with-resources 構文が導入されました。ただし、場合によっては、try-catch-finally を使用した方が効率的です。
try-with-resources を使用すると、JVM はリソースごとに try-finally ブロックを作成します。したがって、大量のリソースを処理する必要がある場合、スタック オーバーフローが発生する可能性があります。
サンプル コードは次のとおりです:
try(InputStream in = new FileInputStream("file.txt")){ // 处理文件流 } catch(IOException e) { // 异常处理 }
は次のように置き換えることができます:
InputStream in = null; try{ in = new FileInputStream("file.txt"); // 处理文件流 } catch(IOException e) { // 异常处理 } finally { if (in != null) { try { in.close(); } catch (IOException e) { // 异常处理 } } }
hard エンコードされた値は、可読性の低下、保守性の低下、コードの重複などの問題を引き起こす可能性があります。静的な最終定数を使用すると、これらの問題を回避し、プログラムの効率を向上させることができます。
サンプル コードは次のとおりです。
public static double calculateArea(double radius) { double pi = 3.14159265358979323846; return pi * radius * radius; }
は次のように置き換えることができます。
public static final double PI = 3.14159265358979323846; public static double calculateArea(double radius) { return PI * radius * radius; }
public class Test { private int num; public void setNum(int num) { this.num = num; } public void doSomething() { for (int i = 0; i < 1000; i++) { // 使用 num } } }は次のように置き換えることができます。
public class Test { public void setNum(int num) { // do something } public void doSomething() { int num = 0; for (int i = 0; i < 1000; i++) { // 使用 num } } }上記は、一般的に使用される Java コード最適化手法の一部です。もちろん、コードの最適化は静的なものではなく、プログラムのパフォーマンスを最大化するには、特定の状況に応じて最適化する必要があります。
以上がJava でのコード最適化のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。