5. Bahasa yang aman
Bahasa java telah memperoleh pengalaman aspek keamanan dari java applet. Cara kerja applet adalah sebagai berikut :
Saat web browser mengetahui adanya Java Applet dihalaman web yang sedang diproses, maka browser akan mendownload applet dan keseluruhan alamat web. Applet tersebut dijalankan di komputer dimana web browser tadi berada. Hal ini akan sangat berbahaya, mengingat Applet dapat melakukan serangkaian ancaman terhadap komputer. Untuk itu, java memiliki keamanan berlapis.
Pengamanan java menggunakan model Three Layer Security Model untuk melindungi sistem operasi dari resiko terburuk. Model tersebut dapat disebut keamana tiga lapis :
- Bytecode Verifier yaitu membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan - aturan keamanan java.
- Class Loader, yaitu menangani loading kelas java ke runtime interpreter.
- Manajer keamanan, yaitu menangani kemanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses resource seperti sistem file, port jaringan, proses eksternal dan sebagainya.
Java juga menyediakan teknik pengamanan yaitu :
- Bahasa java dirancang untuk mempersulit eksekusi program yang merusak. Peniadaan pointer merupakan langkah besar dalam pengamanan java. Java tidak mengenal operasi pointer. Di tangan programer handal, pointer dapat digunakan untuk optimasi dan pemograman yang efisien. Kelebihan ini apabila disalahgunakan akan menjadi masalah besar khususnya bagi programer jahat. Pointer ini merupakan sarana yang luar biasa untuk mengakses sarana - sarana tanpa perlu adanya otorisasi. Dengan peniadaan pointer ini, java menjadi bahasa yang lebih aman.
- Program java dikompilasi menjadi serangkaian bytecode . Sebelum pprogram java dijalankan, terdapat java verivfier yang memeriksa bytecode untuk menjamin tidak adanya kode yang mencurigakan.
- Java mempunyai beberapa pengamanan terhadap applet. Untuk mencegah program bertindak mangganggu ruang penyimpanan (disk) pemakai, maka applet tidak diperbolehkan melakukan open, read atau write terhadap file disistem pemakai secara sembarangan. Ini dikarenakan, java applet dapat membuka jendela browser yang baru. Hal ini mencegah terjadinya pop-up menipu seperti untuk meminta username dan password.
Pengamanan sistem komputer bukan merupakan hal yang mudah. Sampai saat ini belum ada pengamanan komputer yang terbukti ampuh 100% dalam mengamankan komputer. Karena itulah programer sistem operasi komputer selalu berusaha memperbaharui kemanan sistem mereka.
6. Bahasa independen terhadap platform
Platform independent adalah kemampuan program bekerja di berbagai sistem operasi yang berbeda. Java merupakan bahasa pemograman yang telah sempurna menerapkan sistem ini atau disebut juga Multi Platform.
Tipe variable dalam java memiliki ukuran yang sama disemua platform, sehingga variable beritpe integer (long, int) berukuran sama walaupun di sistem operasi yang berbeda.
7. Bahasa Multithreading
Thread adalah untuk menyatakan program komputer melakukan lebih dari satu pekerjaan di waktu yang sama. Java menyediakan tools untuk melakukan ini. Karena semua aplikasi setidaknya membutuhkan satu thread yang menggambarkan jalur utama program.
8. Bahasa yang mendukung Garbage Collector
Program java melakukan Garbage Collector yang berarti programer tidak perlu menghapus sendiri objek - objek yang tidak diperlukan lagi. Fasilitas ini mengurangi beban alokasi memori yang terdapat di bahasa yang memungkinkan alokasi dinamis.
9. Bahasa yang tegar
Java mempunyai mekanisme exception - handling yang ampuh. Exception handling menyediakan cara untuk memisahkan bagian penanganan error dengan bagian kode normal sehingga membuat kode program lebih bersih dan menjadikan aplikasi lebih tegar. Ketika ditemukan kesalahan serius dari sintak, program java menciptakan exception. Exception dapat ditangkap dan dikelola program tanpa resiko membuat sistem menjadi down.
10. Bahasa yang mampu diperluas
Java mendukung Native Method yaitu fungsi ditulis di bahasa lain, biasanya C / C++ yang memiliki kesamaan sintaks. Dukungan ini memungkinkan programer menulis fungsi yang dapat dieksekusi lebih cepat dibanding fungsi ekivalen di java. Dukungan ini secara dinamis akan dihubungkan ke program java yaitu diasosiasikan dengan progam saat dieksekusi.
Demikian pembahasan mengenai fitur - fitur penting java kali ini. Pada posting selanjutnya, kita akan membahas sedikit tentang JDK. INSYAALLAH...
No comments
Mohon untuk berkomentar yang baik dan bijak