Java memiliki keunggulan yang tidak dipunyai bahasa lain, seperti bersifat
multiplatform dan berorientasi pada konsep kelas dan objek murni. Disini akan diungkap mengapa Java dipilih sebagai bahasa pemrograman yang unggul.
a. Berorientasi pada kelas dan objek murni Java membagi program menjadi kelas-kelas dan dari kelas tersebut kita bisa membuat objek atau
instance sebagai sesuatu yang unik untuk digunakan sewaktu-waktu.
b. Bersifat multiplatform dan open-source Java memang didesain untuk dapat berjalan di berbagai platform yang berbeda. Dengan adanya sifat ini, sebuah program Java dipercayai dapat didistribusi dengan luas tanpa ada masalah pada sistem operasi. Cara kerjanya sangat simpel, saat program Java dikompilasi, ia tidak langsung dijadikan sebagai program yang siap jalan, melainkan ke kode yang disebut
bytecode. Pada saat program dijalankan atau dieksekusi, mesin virtual Java atau JVM yang terinstal akan menerjemahkan
bytecode tersebut. Karena hal tersebut, beberapa pihak mempunyai anggapan bahwa Java itu lambat. Namun kini, hal tersebut tidaklah benar. Kita akan membahas hal tersebut di bagian selanjutnya.
c. Sederhana dan mudah dimengerti Bahasa ini sekilas terlihat mirip dengan bahasa leluhurnya seperti C++. Namun, beberapa fiturnya telah diubah untuk memudahkan pemorgraman, seperti pembersihan memori otomatis (
garbage collector) dan pengalokasi memori otomatis (
memory allocation) dan penghilangan pointer seperti yang ada di C++.
d. Bersifat multithread Java memiliki kemampuan untuk mengerjakan beberapa proses dalam waktu yang sama.
e. Pembersihan dan pengalokasian memori otomatis Seperti yang tadi dibahas, Java memiliki fitur pembersihan dan pengalokasian memori secara otomatis, sehingga programer Java tidak perlu khawatir dan bingung dalam mengatur memori bagi suatu aplikasi yang akan dibuat.
Setelah membahas keunggulannya, tentu tidak adil apabila kita tidak membahas kelemahannya juga. Namun, beberapa pihak diantaranya mengungkap kelemahan Java yang sebenarnya tidak benar. Berikut beberapa kelemahan Java dan cara mengatasinya.
a. Java itu lambat untuk aplikasi tingkat tinggi Java dipercaya sangat lambat untuk aplikasi yang membutuhkan banyak memori atau aplikasi grafis seperti
game dan
graphics rendering (seperti
Photoshop dan
Blender) . Namun, hal ini tidaklah benar. Sejak dirilisnya versi 1.4, Java mempunyai kecepatan yang hampir sama dengan C++. Bahkan, Java SE versi 6 lebih cepat sekitar 20 sampai 25 persen dari pendahulunya.
b. Java mempunyai memory leaks Memori leaks adalah kesalahan yang dibuat sistem karena tidak adanya lagi ruang memori untuk program yang berjalan. Dalam beberapa kasus, program yang dibuat dengan Java mengalami masalah ini. Namun, hal ini bisa diatasi dengan teknik pemrograman yang baik.
c. Java tidak mendukung aplikasi game console Pernyataan ini kini tidak relevan lagi. Sejak dirilisnya Java SE 6, API (Application Programming Interface) untuk keperluan grafis seperti
OpenGL dan
DirectX telah didukung. Sebagai buktinya, kini terdapat emulator dan game 3 dimensi yang dibuat dengan Java.
d. Mudah didekompilasi Program Java dianggap mudah diretas untuk diambil source-code nya (kode atau sintaks yang kita ketik saat programming). Ini dapat diatasi dengan menambahkan proteksi pada program tersebut.
Itulah beberapa kelebihan dan kelemahan Java sebagai bahasa pemrograman. Sebagai programer Java, Anda seharusnya bisa menerima semua hal tersebut. Ini sangatlah penting dalam menentukan tujuan tentang program apa yang ingin Anda buat. Selanjutnya, kita akan memahami bagaimana sebuah program Java bekerja.