Bagaimana meningkatkan kinerja aplikasi Java dalam 10 langkah – apakah java memperlambat komputer saya?

Kami telah menyiapkan panduan 10 langkah tentang cara meningkatkan kinerja aplikasi Java Anda. Kami juga menyertakan unduhan uji coba gratis ke alat baru yang canggih.

Anda sedang menonton : apakah java memperlambat komputer saya

Cara meningkatkan performa aplikasi Java dalam 10 langkahApache Tomcat Monitoring

1. Lakukan pembuatan profil dan pengujian beban

Langkah pertama untuk meningkatkan kinerja aplikasi Java adalah mengidentifikasi area yang perlu ditingkatkan. Tanpa mengetahui di mana masalah terbesarnya, mencoba mempercepat sebuah aplikasi seperti melempar anak panah ke papan dart sambil ditutup matanya. Untungnya, ada alat perangkat lunak yang mengumpulkan data mengenai kinerja aplikasi.

Alat pertama yang kami sarankan untuk digunakan adalah perangkat lunak profil Java. Salah satu contohnya adalah YourKit, yang merupakan solusi yang sesuai untuk perusahaan maupun pengguna individu. YourKit menawarkan berbagai lisensi seperti opsi perusahaan, akademik, sumber terbuka, dan per kursi.

YourKit Java Profiler

2. Membersihkan kode dan merevisi algoritme

Kode sumber perangkat lunak seperti draf pertama sebuah novel – tidak pernah sempurna setelah iterasi pertama dan memerlukan revisi yang signifikan sebelum akhirnya dipoles. Pertama dan terpenting, Anda harus berusaha untuk menulis kode bersih yang dipenuhi dengan komentar sehingga Anda dapat menavigasi teks Anda dan dengan mudah mengingat mengapa setiap objek dipakai dan mengapa setiap fungsi dipanggil.

Meskipun menjaga kode Anda tetap bersih tidak akan dengan sendirinya mempercepat aplikasi Java, ini membantu Anda memangkas kode yang tidak perlu secara lebih efisien dan mencari kelemahan dan redundansi dalam algoritme Anda. Kode bersih juga membuat proses debug lebih lancar dan membantu Anda memperbaiki kesalahan (seperti kebocoran memori) yang Anda identifikasi setelah membuat profil dan memuat pengujian perangkat lunak Anda.

Opsi lain yang patut dipertimbangkan adalah profiler Java yang merupakan bagian dari paket Datadog APM. Pengelola aplikasi ini adalah sistem berbasis cloud. Ini melacak penggunaan sumber daya aplikasi Java berdasarkan kelas dan metode dan menawarkan tampilan langkah-langkah dari kode Java, mengikuti eksekusi melalui API dan panggilan fungsi. Layanan ini juga melacak metrik kinerja aplikasi dan situs web yang lebih luas, seperti ketersediaan dan waktu respons.

Datadog Java Profiling
Datadog APM Java Profiler
Mulai Uji Coba GRATIS 14 hari

3. Hindari rekursi jika memungkinkan

Rekursi adalah strategi pemrograman dasar di mana suatu fungsi memanggil dirinya sendiri untuk memecahkan masalah. Rekursi tidak selalu jahat, namun, itu adalah pedang bermata dua. Itu memang memiliki manfaat dan kegunaan praktis. Misalnya, rekursi membuat kode lebih bersih dan lebih ringkas serta mengurangi iterasi tautologis dari loop dan fungsi.

Karena rekursi mengurangi kompleksitas dan volume kode, hal ini membantu membuat aplikasi Java lebih mudah dirawat. Sayangnya, manfaat ini sebanding dengan kinerja aplikasi. Panggilan rekursi dan fungsi mahal dalam hal kecepatan dan kinerja karena memerlukan fungsi pop dan push pada stack.

Solusi yang lebih efisien untuk rekursi, di sisi lain, adalah perulangan. Operasi perulangan mungkin lebih sulit untuk dibaca dan terdiri dari lebih banyak karakter dan kode sumber daripada rekursi, tetapi mereka lebih disukai ketika kinerja aplikasi harus dimaksimalkan. Mungkin tidak selalu praktis untuk mengabaikan rekursi sama sekali, tetapi menguranginya sebanyak mungkin akan membantu meningkatkan kinerja aplikasi Java.

4. Tingkatkan perangkat keras sistem

Di permukaan, tampaknya aplikasi Java yang berkinerja buruk pasti disebabkan oleh masalah perangkat lunak. Meskipun mungkin tampak kontra-intuitif, akar penyebab kinerja yang buruk mungkin adalah masalah perangkat keras. Baik Anda menjalankan aplikasi Java secara lokal atau jarak jauh, sistem tempat aplikasi Java berjalan mungkin tidak memiliki sumber daya sistem yang cukup untuk mengeksekusi kode dengan memuaskan.

Komponen termudah untuk ditingkatkan yang biasanya berdampak langsung pada kinerja perangkat lunak adalah RAM. Dengan memperluas jumlah memori fisik di komputer Anda, Anda mengurangi kemungkinan sistem kehabisan ruang penyimpanan untuk data aplikasi dan dipaksa untuk kembali menggunakan hard drive sebagai RAM dadakan. Praktik ini dikenal sebagai file halaman, dan meskipun memiliki kegunaan praktis, file halaman lebih tidak diinginkan untuk aplikasi berperforma tinggi daripada RAM karena proses baca dan tulis jauh lebih lambat pada hard drive.

Selanjutnya, jika aplikasi Java Anda berinteraksi secara signifikan dengan hard drive (seperti pencadangan data atau aplikasi sinkronisasi), mengupgrade hard drive dapat meningkatkan kinerja sistem. Misalnya, Anda dapat meningkatkan ke drive dengan RPM lebih tinggi untuk prosedur baca dan tulis yang lebih cepat. Namun, perhatikan bahwa hard drive tercepat adalah SSD (Solid State Drives) dan tidak mengandung bagian yang bergerak. Terakhir, beberapa sistem, tetapi tidak semua, juga mampu memperluas CPU, meskipun tidak semudah mengupgradenya seperti RAM.

5. Meningkatkan bandwidth LAN dan WAN

Meskipun perangkat keras lokal dan server merupakan komponen kunci dari aplikasi Java – termasuk aplikasi web Java – ini bukan satu-satunya potensi hambatan. Baik Anda menghosting aplikasi web Java secara lokal di LAN, di intranet, atau dari jarak jauh, bandwidth memainkan peran penting terkait ketersediaan dan kinerja aplikasi Anda – terutama selama masa beban puncak.

Secara umum, bandwidth LAN biasanya berlimpah dan murah, sedangkan bandwidth WAN mahal dan pasokannya terbatas. Namun demikian, lalu lintas LAN lain mungkin memadati jaringan lokal yang terhubung dengan server yang menjalankan aplikasi web Java. Masalah ini dapat diatasi dengan salah satu dari dua cara.

Pertama, Anda dapat memilih untuk meningkatkan sakelar dan infrastruktur jaringan lokal ke solusi Gigabit Ethernet atau 10Gigabit Ethernet untuk mengurangi kemacetan jaringan. Atau, Anda dapat menerapkan kebijakan QoS (Quality of Service) yang memprioritaskan lalu lintas ke dan dari server yang menghosting aplikasi Java di atas jenis lalu lintas lainnya.

Selain itu, selain meningkatkan bandwidth WAN (yang mungkin memerlukan pemilihan ISP yang berbeda), Anda dapat menerapkan penyeimbangan beban untuk memanfaatkan koneksi ISP yang redundan dengan lebih baik. Ingat, aplikasi Java yang berkinerja buruk belum tentu disebabkan oleh masalah perangkat lunak dan dapat dipengaruhi oleh kemacetan jaringan.

6. Rapikan sistem operasi Anda

Sistem operasi memerlukan pembersihan dan pemeliharaan agar berjalan pada kinerja puncak dan untuk menggunakan sumber daya sistem secara efisien. Sistem operasi yang tidak terawat memiliki kecenderungan untuk melambat dan terasa lamban. Misalnya, Anda mungkin memiliki banyak proses tak terlihat yang berjalan di latar belakang yang bahkan tidak Anda ketahui.

Xem Thêm  Cara Menyinkronkan Fitbit ke Komputer - bagaimana menghubungkan fitbit ke komputer

Selanjutnya, prosedur penginstalan banyak aplikasi secara otomatis menambahkan perangkat lunak baru ke daftar aplikasi yang diluncurkan saat startup. Aplikasi ini tidak hanya menyebabkan sistem melakukan booting lebih lambat, tetapi juga memakan sumber daya sistem yang vital seperti siklus RAM dan CPU yang dapat digunakan untuk menjalankan aplikasi Java.

Memotong proses dan aplikasi yang diperlukan dan tidak diinginkan akan membantu merapikan sistem operasi Anda, seperti halnya menjalankan pembersih registri pada sistem Windows. Pembersih registri dapat mengurangi dan menghilangkan kesalahan DLL dan kesalahan runtime dengan menghapus entri yang salah dalam registri dan membuat ulang struktur indeks.

Selanjutnya, tugas pembersihan lainnya – yang harus digunakan dengan hemat – adalah mendefrag hard drive Anda. Seiring waktu, karena file terus ditulis dan dihapus dari hard drive, mereka bisa menjadi berantakan, kacau balau. Alat defrag mengumpulkan semua data Anda dan menulis ulang ke blok yang berdekatan, yang mengurangi waktu hard drive untuk membaca informasi.

Tapi lebih dulu: proses defragmentasi sangat menuntut dan membebani hard drive. Jika Anda mendefragnya setiap hari, mingguan, atau bahkan bulanan, Anda akan secara drastis mengurangi umur hard drive Anda. Frekuensi yang lebih masuk akal dan praktis adalah sekitar dua hingga tiga kali per tahun.

7. Gunakan StringBuilder untuk meningkatkan efisiensi

String adalah tipe data umum di sebagian besar aplikasi – sangat sulit untuk dihindari atau diabaikan. Sayangnya, penggabungan string tidak efisien seperti yang sering terjadi. Tampaknya cara terbaik untuk menggabungkan string adalah dengan operasi “+=”, tetapi ini adalah operasi yang terlalu sering digunakan dan sangat tidak efisien.

Masalahnya adalah bahwa operasi “+=” mengalokasikan string yang sama sekali baru setiap kali digunakan, yang dapat membuat banyak data string yang berlebihan dan tidak perlu. Meskipun menggunakan operasi ini sesekali tidak akan menyebabkan aplikasi Java Anda terhenti, setiap operasi kecil bertambah. Bayangkan berapa kali ketidakefisienan ini dapat diperbesar dalam satu lingkaran?

Untungnya, ada alternatif yang lebih efisien. Objek StringBuilder dirancang sebagai alternatif yang efisien untuk operasi penggabungan dasar. Biasakan menggunakan tipe data ini daripada menggunakan singkatan malas dari operasi “+=” jika Anda ingin meningkatkan kinerja aplikasi Java.

8. Memanfaatkan caching untuk meningkatkan kinerja

Caching adalah salah satu cara paling efektif untuk meningkatkan efisiensi aplikasi Java. Konsep inti dari caching adalah untuk menggabungkan beberapa panggilan dan fungsi menjadi satu sumber daya yang dapat digunakan kembali. Meskipun ada banyak bentuk caching, ketika kebanyakan orang di sini kata ‘caching’, hal pertama yang muncul di pikiran adalah teknologi database.

Tidak hanya data yang terdapat dalam database yang dapat di-cache secara lokal untuk menghemat bandwidth, tetapi juga volume koneksi database yang tinggi yang akan memperlambat aplikasi. Namun demikian, perlu diketahui bahwa caching tidak boleh digunakan secara berlebihan. Anda mungkin secara intuitif berpikir semuanya harus di-cache jika Anda perlu menggunakannya lagi dalam waktu dekat. Namun, Anda perlu memastikan bahwa data dan koneksi yang Anda tembolok cukup banyak untuk melihat peningkatan kinerja.

9. Lebih suka tumpukan daripada tumpukan

Untuk meningkatkan kinerja aplikasi Java, simpan data Anda di tumpukan, bukan di tumpukan. Mengapa kamu bertanya? Karena menggunakan memori lebih efisien dan menghapus data yang telah memenuhi tujuannya. Tidak hanya tumpukan lebih efisien menggunakan sumber daya, tetapi juga menjaga overhead tetap terkendali. Cara terbaik untuk memilih tumpukan daripada tumpukan adalah dengan menghindari pembuatan instance kelas pembungkus.

Sama seperti penggunaan rekursi, tidak selalu layak (atau bahkan mungkin) untuk mengabaikan penggunaan kelas pembungkus. Tetapi sebagai aturan umum, Anda harus menggunakan tipe data primitif seperti “int” sebagai lawan dari Integer. Jumlah peningkatan kinerja yang dapat Anda peroleh dari penggunaan taktik ini bergantung pada banyak sekali faktor. Namun demikian, memilih tumpukan adalah panduan yang baik untuk menemukan jalur menuju kode Java yang paling ramping dan paling efisien.

Ada alat di pasaran untuk membantu Anda berhasil memperbarui patch Java. Salah satu alat tersebut adalah SolarWinds Pengelola Patch.

SolarWinds Patch Manageruji coba gratis 30 hari

yang berfungsi penuh


Manajer Patch SolarWinds
Unduh Uji Coba GRATIS 30 hari

Terkait: Alat Manajemen Patch Terbaik

Selain itu, Anda harus memeriksa Alat Pemantauan Java SolarWinds untuk Server Aplikasi dengan Server & Monitor Aplikasi untuk meningkatkan kinerja. Anda dapat mendownload uji coba gratis 30 hari yang berfungsi penuh.


Alat Pemantauan Java SolarWinds untuk Server Aplikasi dengan SAM
Unduh Uji Coba GRATIS 30 hari

10. Mempengaruhi manajemen memori

Meskipun menggunakan tumpukan lebih baik daripada mengakses memori tumpukan, terkadang hal itu tidak dapat dihindari. Masalah kinerja yang besar adalah dengan ketersediaan memori karena kekurangan memori akan memperlambat semua aplikasi Anda dan aplikasi Java sangat bergantung pada memori.

JVM menangani pelepasan memori dengan menghapus objek yang tidak direferensikan, yang tidak lagi dalam cakupan, melalui pengumpul sampah. Namun, adalah mitos bahwa pengumpulan sampah adalah kotak hitam dan tidak ada cara untuk mempengaruhi perilakunya. Anda dapat menyesuaikan ukuran tumpukan dan mengubah algoritme pengumpulan sampah tumpukan. Dimungkinkan juga untuk mengubah proporsi tumpukan generasi baru ke ukuran tumpukan generasi lama. Jadi, ada banyak cara untuk meningkatkan manajemen memori dan mengubah frekuensi pengumpulan ruang memori yang ditinggalkan.

Xem Thêm  Bagaimana menjaga PC Anda tetap terjaga tanpa menyentuhnya - cara membuat komputer tetap terjaga

Masalah kinerja besar dengan pengumpul sampah adalah mereka membekukan utas aplikasi selama operasi pelepasan memori. Jadi, penting untuk memilih strategi pengumpulan sampah yang tepat berdasarkan apakah Anda memprioritaskan kecepatan, skalabilitas, atau pengoptimalan CPU.

Empat opsi tersebut adalah:

  1. Pengumpul Sampah Berurutan – Untuk lingkungan utas tunggal. Bagus untuk pengoptimalan CPU tetapi tidak bagus untuk skalabilitas.
  2. Pengumpul Sampah Paralel – Ini adalah default dan dirancang untuk sistem multi-utas. Seperti Serial GC, ia membekukan semua utas aplikasi saat mengumpulkan. Menggunakan banyak CPU.
  3. Concurrent Mark Sweep – Secara selektif menghapus pengendali memori, mengosongkan tambalan ruang. Hanya akan membekukan proses yang mengakses area memori yang sama yang sedang disesuaikan. Sangat intensif CPU tetapi bagus untuk skalabilitas.
  4. G1 Garbage Collector – Mengelompokkan ruang memori tumpukan besar ke dalam segmen. Hanya memblokir aplikasi yang mencoba mengakses wilayah yang sedang dikumpulkan. Bagus untuk pengoptimalan dan skalabilitas CPU, tetapi menciptakan overhead di memori.

FAQ Kinerja Aplikasi Java

Bagaimana Anda menangani masalah kinerja di Java?

Sebagian besar kinerja masalah dengan kode Java tidak berhubungan dengan kode itu sendiri tetapi dengan ketersediaan sumber daya sistem. Oleh karena itu, perkirakan masalah akan muncul setelah kode aktif yang tidak terlihat selama pengembangan. Periksa kembali kinerja pada setiap tahap siklus hidup sistem.

Bagaimana Anda mengoptimalkan kode aplikasi Java?

Hindari alokasi tumpukan yang terlalu besar dalam kode Anda dengan memulai dengan alokasi memori minimum dalam kode dan kemudian tambahkan ruang nanti jika tampaknya diperlukan lebih banyak. Cari untuk memperketat prosedur apa pun yang dapat mengunci sumber daya dan mengoptimalkan pengambilan data SQL dengan memeriksa pengoptimalan SQL – kekurangan sumber daya dan interaksi dengan sistem lain memberikan penyebab terbesar masalah kinerja dalam kode Java.

Apakah mengonversi aplikasi Java saya ke Node.js akan meningkatkan kinerja?

Hati-hati dalam berpindah sistem, terutama ke kerangka kerja pemrograman baru yang tidak Anda kenal. Node.js dipuji karena kecepatannya tetapi mungkin tidak memiliki semua kemampuan yang Anda butuhkan untuk aplikasi Anda. Jika Anda tergoda oleh Node.js, tulis aplikasi baru di lingkungan itu terlebih dahulu daripada mencoba porting melalui program Java yang ada. Jika Anda memiliki masalah dengan kinerja Java, kemungkinan besar itu adalah masalah ketersediaan sumber daya, yang akan terus berlanjut terlepas dari kerangka kerja tempat Anda menulis kode.

Jika Anda memiliki cerita atau anekdot pribadi tentang mempercepat Aplikasi Java, kami mengundang Anda untuk berkomentar di bawah.


Melihat informasi lebih lanjut terkait topik apakah java memperlambat komputer saya?

Java Tutorial for Beginners

alt

  • Penulis: Programming with Mosh
  • Tanggal posting: 2019-07-15
  • Nilai: 4 ⭐ ( 7293 peringkat )
  • Cocokkan hasil pencarian: Java tutorial for beginners – Learn Java, the language behind millions of apps and websites.
    🔥 Want to master Java? Get my complete Java mastery bundle: http://bit.ly/2tKoy8C
    👍 Subscribe for more Java tutorials like this: https://goo.gl/6PYaGF

    📕 Get my FREE Java cheat sheet: http://bit.ly/2JNlQnw

    ⭐️ Want to learn more from me? Check out these links:

    Courses: https://codewithmosh.com
    Twitter: https://twitter.com/moshhamedani
    Facebook: https://www.facebook.com/programmingwithmosh/
    Blog: http://programmingwithmosh.com

    TABLE OF CONTENTS

    0:00:00 Introduction
    0:01:46 Installing Java
    0:03:59 Anatomy of a Java Program
    0:08:41 Your First Java Program
    0:15:59 Cheat Sheet
    0:16:29 How Java Code Gets Executed
    0:22:54 Course Structure
    0:25:22 Types
    0:25:57 Variables
    0:29:07 Primitive Types
    0:34:27 Reference Types
    0:39:15 Primitive Types vs Reference Types
    0:43:39 Strings
    0:50:42 Escape Sequences
    0:53:22 Arrays
    0:58:47 Multi-Dimensional Arrays
    1:01:23 Constants
    1:03:15 Arithmetic Expressions
    1:07:18 Order of Operations
    1:08:40 Casting
    1:15:08 The Math Class
    1:19:50 Formatting Numbers
    1:25:40 Reading Input
    1:30:45 Project: Mortgage Calculator
    1:32:55 Solution: Mortgage Calculator
    1:37:14 Types Summary
    1:38:43 Control Flow
    1:39:30 Comparison Operators
    1:41:16 Logical Operators
    1:45:52 If Statements
    1:50:18 Simplifying If Statements
    1:53:47 The Ternary Operator
    1:56:16 Switch Statements
    2:00:07 Exercise: FizzBuzz
    2:06:05 For Loops
    2:09:53 While Loops
    2:14:19 Do…While Loops
    2:15:36 Break and Continue
    2:18:52 For-Each Loop
    2:21:59 Project: Mortgage Calculator
    2:23:27 Solution: Mortgage Calculator
    2:28:28 Control Flow Summary
    2:29:25 Clean Coding

    Programming

Bagaimana Saya Meningkatkan Kinerja Komputer?

  • Penulis: sridianti.com
  • Nilai: 5 ⭐ ( 2819 peringkat )
  • Cocokkan hasil pencarian:

Mengapa Komputer Saya Lambat?

  • Penulis: perbedaannya.com
  • Nilai: 3 ⭐ ( 4554 peringkat )
  • Cocokkan hasil pencarian:

Pembersih Registri: Apakah Ini Cara yang Baik untuk Mempercepat Komputer Saya? ️ IK4 ️

  • Penulis: ik4.es
  • Nilai: 4 ⭐ ( 5215 peringkat )
  • Cocokkan hasil pencarian: Pembersih Registri: Apakah Ini Cara yang Baik untuk Mempercepat Komputer Saya? ️

7 PENYEBAB KOMPUTER LAMBAT DAN 7 CARA MENGATASI KOMPUTER LAMBAT

  • Penulis: pemkomedan.go.id
  • Nilai: 5 ⭐ ( 6782 peringkat )
  • Cocokkan hasil pencarian: 7 PENYEBAB KOMPUTER LAMBAT DAN 7 CARA MENGATASI KOMPUTER LAMBAT

    …ambat seprti keong, padahal kerjaan menumpuk dan semuanya dikejar deadline. Kalau sudah seperti ini, komputer yang fungs

Ketika Saya Menghidupkan Komputer Saya, Bagaimana Cara Mempercepat Startup? – ApaYangDimaksud.com

  • Penulis: apayangdimaksud.com
  • Nilai: 4 ⭐ ( 9388 peringkat )
  • Cocokkan hasil pencarian:

Apakah cookie memperlambat komputer saya? – ApaContoh.Com

  • Penulis: apacontoh.com
  • Nilai: 5 ⭐ ( 5051 peringkat )
  • Cocokkan hasil pencarian:

Lihat artikel lainnya dalam kategori ini: Teknologi