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 programmer
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 programmer yang mutlak bertanggung jawab akan hal ini.
Hal ini
dapat menyulitkan bilamana programmer 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 programmer 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.
1. 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.
2. Kedua, bytecode verifier membaca bytecode sebelum
dijalankan dan
menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.
3. 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 :
1. Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan
pointer merupakan langkah besar
pengamanan. Java tidak mengenal operasi
pointer. Di tangan programmer 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
programmer jahat. Pointer merupakan sarana luar biasa untuk
pengaksesan
tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat
menjadi bahasa
yang lebih aman.
2. 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 komentar:
Posting Komentar