Pada JAVA terdapat fitur -fitur utama yang mendukung tujuan utama dari teknologi JAVA, antara lain:
Java Virtual Machine
(JVM)
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan
menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi
hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah
yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena
proses kompilasi diselesaikan oleh JVM.
Aplikasi program Java diciptakan dengan file teks
berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode
berekstensi .class atau lebih. Bytecode adalah serangkaian instruksi serupa
instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada
sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada
java interpreter yang tersedia di semua platform sistem komputer dan sistem
operasi.
Garbage Collection
Banyak bahasa pemrogaman lain yang mengijinkan seorang
pemrogram mengalokasikan memori pada saat dijalankan. Namun, setelah
menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan
kembali blok memori tersebut supaya program lain dapat menggunakannya. Dalam C,
C++ dan bahasa lainnya, adalah pemrogram yang mutlak bertanggung jawab akan hal
ini. Hal ini dapat menyulitkan bilamana pemrogram tersebut alpa untuk
mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama
memory leaks.
Program Java melakukan garbage collection yang berarti
program tidak perlu menghapus sendiri objek – objek yang tidak digunakan lagi.
Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi
atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang
memungkinkan alokasi dinamis.
Code Security
Code Security terimplementasi pada Java melalui penggunaan
Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk
melindungi sistem dari untrusted Java Code.
- Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas – kelas yang berasal dari local disk dengan kelas – kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas – kelas yang berasal dari local disk yang dimuat terlebih dahulu.
- Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan – aturan dasar bahasa Java.
- Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
Setelah seluruh proses tersebut selesai dijalankan, barulah
kode program di eksekusi.
Java juga menyediakan beragam teknik pengamanan lain :
- Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan pemrogram handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan pemrogram jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.
- Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu media penyimpanan, maka applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai permintaan keterangan username dan password.
0 Comment:
Post a Comment