Sebagai bahasa pengaturcaraan yang popular dan digunakan secara meluas, kemahiran pengoptimuman kod Java juga merupakan salah satu fokus pembangun. Artikel ini akan memperkenalkan beberapa teknik pengoptimuman kod Java yang biasa digunakan untuk membantu meningkatkan prestasi program.
Di Jawa, memandangkan String tidak boleh diubah, objek String baharu akan dibuat setiap kali penyambungan rentetan dilakukan prestasi atur cara semasa melakukan pemprosesan rentetan berat. Oleh itu, kita boleh menggunakan StringBuilder, kelas rentetan berubah-ubah, untuk menggantikan String untuk penggabungan rentetan, dengan itu meningkatkan prestasi program.
Kod sampel adalah seperti berikut:
String str = ""; for(int i=0; i<1000; i++){ str += i; }
boleh digantikan dengan:
StringBuilder sb = new StringBuilder(); for(int i=0; i<1000; i++){ sb.append(i); } String str = sb.toString();
Untuk ArrayList, Untuk kelas koleksi seperti HashMap, adalah lebih baik untuk menentukan kapasiti awal apabila menggunakannya, supaya operasi pengembangan yang kerap dapat dielakkan pada tahap tertentu. Terutama apabila bilangan elemen yang disimpan dalam koleksi adalah besar, kesan pengoptimuman ini akan menjadi lebih jelas.
Kod sampel adalah seperti berikut:
List<Integer> list = new ArrayList<>(); // 进行大量操作 list.add(1); list.add(2); list.add(3);
boleh digantikan dengan:
List<Integer> list = new ArrayList<>(1000); // 进行大量操作 list.add(1); list.add(2); list.add(3);
Dalam Java 7, sintaks cuba-dengan-sumber telah diperkenalkan untuk menutup sumber secara automatik. Walau bagaimanapun, dalam beberapa kes, menggunakan try-catch-finally adalah lebih cekap.
Apabila menggunakan cuba-dengan-sumber, JVM akan mencipta blok cuba-akhir untuk setiap sumber. Oleh itu, ini boleh menyebabkan limpahan tindanan jika sejumlah besar sumber perlu diproses.
Kod sampel adalah seperti berikut:
try(InputStream in = new FileInputStream("file.txt")){ // 处理文件流 } catch(IOException e) { // 异常处理 }
boleh digantikan dengan:
InputStream in = null; try{ in = new FileInputStream("file.txt"); // 处理文件流 } catch(IOException e) { // 异常处理 } finally { if (in != null) { try { in.close(); } catch (IOException e) { // 异常处理 } } }
nilai Pengekodan keras boleh membawa kepada masalah seperti kebolehbacaan yang lemah, kebolehselenggaraan yang lemah dan kod pendua. Menggunakan pemalar akhir statik boleh mengelakkan masalah ini dan meningkatkan kecekapan program.
Kod sampel adalah seperti berikut:
public static double calculateArea(double radius) { double pi = 3.14159265358979323846; return pi * radius * radius; }
boleh digantikan dengan:
public static final double PI = 3.14159265358979323846; public static double calculateArea(double radius) { return PI * radius * radius; }
Di Java, pembolehubah Ahli boleh diakses dengan pelbagai kaedah, sekali gus meningkatkan saiz dan overhed contoh objek. Menggunakan pembolehubah tempatan boleh mengelakkan masalah ini dan meningkatkan kecekapan program.
Kod sampel adalah seperti berikut:
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 } } }
boleh digantikan dengan:
public class Test { public void setNum(int num) { // do something } public void doSomething() { int num = 0; for (int i = 0; i < 1000; i++) { // 使用 num } } }
Di atas adalah beberapa teknik pengoptimuman kod Java yang biasa digunakan. Sudah tentu, pengoptimuman kod tidak statik dan perlu dioptimumkan mengikut keadaan tertentu untuk memaksimumkan prestasi program.
Atas ialah kandungan terperinci Petua pengoptimuman kod dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!