Tips untuk Mengoptimalkan Kinerja Kode Java – Saat mengerjakan aplikasi Java apa pun, kami menemukan konsep pengoptimalan. Kode yang kita tulis perlu tidak hanya bersih, dan tanpa cacat tetapi juga dioptimalkan yaitu waktu yang dibutuhkan oleh kode untuk mengeksekusi harus berada dalam batas yang diinginkan. Untuk mencapai ini, kita perlu mengacu pada standar pengkodean Java dan meninjau kode kita untuk memastikannya sesuai standar.
Tips untuk Mengoptimalkan Kinerja Kode Java
zorba-xquery – Namun terkadang kami tidak memiliki waktu untuk benar-benar meninjau kode karena batasan tenggat waktu. Dalam kasus seperti itu, kami memberikan beberapa tip yang dapat diingat oleh pengembang saat melakukan pengkodean persyaratan apa pun sehingga ia perlu membuat sedikit perubahan pada kode untuk memperbaiki kinerja selama fase pengujian atau sebelum memindahkannya ke produksi.
Hindari Menulis Metode Panjang
Metode tidak boleh terlalu panjang dan harus spesifik untuk melakukan fungsionalitas tunggal. Lebih baik untuk pemeliharaan serta kinerja karena saat pemuatan kelas dan selama pemanggilan metode, metode tersebut dimuat dalam memori tumpukan. Jika metode berukuran besar dengan terlalu banyak pemrosesan, mereka akan menghabiskan memori serta siklus CPU untuk dieksekusi.
Baca Juga : Keterampilan yang Dapat Dipelajari Pemrogram Java
Cobalah untuk memecah metode menjadi yang lebih kecil pada poin logis yang sesuai. Juga, jika Anda ingin memperkuat keterampilan Anda di Java, daftarkan diri Anda di Geeksforgeeks Java Programming Foundation – kursus Self-Paced dan pelajari konsep dasar, tipe data, operator, fungsi & lainnya.
Hindari Beberapa Pernyataan If-else
Kami menggunakan pernyataan bersyarat dalam kode kami untuk pengambilan keputusan. Pernyataan bersyarat tidak boleh digunakan secara berlebihan. Jika kita menggunakan terlalu banyak pernyataan if-else bersyarat, itu akan memengaruhi kinerja karena JVM harus membandingkan kondisinya. Ini bisa menjadi lebih buruk jika hal yang sama digunakan dalam pernyataan perulangan seperti untuk, sementara, dll.
Jika ada terlalu banyak kondisi dalam logika bisnis Anda, cobalah untuk mengelompokkan kondisi dan mendapatkan hasil boolean dan menggunakannya dalam pernyataan if. Juga, kita dapat memikirkan untuk menggunakan pernyataan switch alih-alih beberapa if-else jika memungkinkan. Pernyataan switch memiliki keunggulan kinerja dibandingkan if – else.
Hindari Menggunakan Objek String Untuk Penggabungan
String adalah kelas yang tidak dapat diubah, objek yang dibuat oleh String tidak dapat digunakan kembali. Jadi, jika kita perlu membuat string besar jika ada kueri SQL, dll., adalah praktik yang buruk untuk menggabungkan objek String menggunakan operator ‘+’.
Ini akan menyebabkan beberapa objek String dibuat yang mengarah ke lebih banyak penggunaan memori tumpukan. Dalam hal ini, kita dapat menggunakan StringBuilder atau StringBuffer, yang pertama lebih disukai daripada yang terakhir karena memiliki keunggulan kinerja karena metode yang tidak disinkronkan.
Gunakan Tipe Primitif Sedapat Mungkin
Penggunaan tipe primitif di atas objek bermanfaat karena tipe data primitif disimpan di memori tumpukan dan objek disimpan di memori tumpukan. Jika memungkinkan, kita dapat menggunakan tipe primitif daripada objek karena akses data dari memori tumpukan lebih cepat daripada memori tumpukan. Jadi selalu bermanfaat untuk menggunakan int over Integer atau double over Double.
Hindari Menggunakan Kelas BigDecimal
Kita tahu bahwa kelas BigDecimal memberikan presisi yang akurat untuk nilai desimal. Penggunaan berlebih dari objek ini menghambat kinerja secara drastis khususnya ketika hal yang sama digunakan untuk menghitung nilai-nilai tertentu dalam satu lingkaran.
BigDecimal menggunakan banyak memori lebih lama atau dua kali lipat untuk melakukan perhitungan. Jika presisi bukan kendala atau jika kami yakin kisaran nilai yang dihitung tidak akan melebihi panjang atau ganda, kami dapat menghindari penggunaan BigDecimal dan menggunakan long atau double dengan casting yang tepat sebagai gantinya.
Hindari Sering Membuat Objek Besar
Ada kelas-kelas tertentu yang bertindak sebagai pemegang data dalam aplikasi. Benda-benda ini berat dan pembuatannya harus dihindari beberapa kali. Contoh objek tersebut adalah objek koneksi DB atau objek konfigurasi sistem atau objek sesi untuk pengguna setelah login.
Objek-objek ini menggunakan banyak sumber daya saat dibuat. Kita harus menggunakan kembali objek-objek ini alih-alih membuatnya karena pembuatan akan secara drastis menghambat kinerja aplikasi karena penggunaan memori yang lebih banyak. Kita harus menggunakan pola Singleton sedapat mungkin untuk membuat satu instance objek dan menggunakannya kembali di mana pun diperlukan atau mengkloning objek alih-alih membuat yang baru.
Gunakan Prosedur Tersimpan Alih-alih Query
Lebih baik menulis prosedur tersimpan daripada kueri yang rumit dan panjang dan memanggilnya saat memproses. Prosedur tersimpan disimpan sebagai objek dalam database dan telah dikompilasi sebelumnya.
Waktu eksekusi prosedur tersimpan lebih sedikit dibandingkan dengan kueri dengan logika bisnis yang sama saat kueri dikompilasi dan dieksekusi setiap kali di mana pun ia dipanggil melalui aplikasi. Selain itu, prosedur tersimpan memiliki keuntungan dalam transfer data dan lalu lintas jaringan karena kami tidak mentransfer kueri kompleks untuk dieksekusi setiap kali ke server basis data.
Menggunakan Pernyataan Siap alih-alih Pernyataan
Saat menjalankan kueri SQL melalui aplikasi, kami menggunakan JDBC API dan kelas untuk hal yang sama. PreparedStatement memiliki keunggulan dibandingkan Statement untuk eksekusi kueri berparameter karena objek readystatement dikompilasi satu kali dan dieksekusi beberapa kali.
Objek pernyataan di sisi lain dikompilasi dan dieksekusi setiap kali dipanggil. Juga , objek pernyataan yang disiapkan aman untuk menghindari serangan injeksi SQL untuk keamanan Aplikasi Web.