Fitur-fitur Java

JVM (Java Virtual Machine)

JVM atau yang diartikan sebagai mesin virtual java adalah fitur java yang terdiri dari class loader dan java interpreter. Java interpreter itu sendiri adalah sebuah fasilitas penerjemah yang ada di dalam JVM, yaitu yang berfungsi sebagai mesin pembaca isi berkas ( bytecode ) yang dirancang oleh Java ketika berkasnya telah ada dalam memori lalu menerjemahkannya di dalam mesin local. Perangkat lunak adalah merupakan bentukan dari Java interpreter yang menginterpretasikan bytecode setiap waktu, yang dapat mengubah bytecode menjadi bahasa mesin local. Selain itu juga dapat diimplementasikan pada perangkat keras.

JVM adalah sebuah system program yang mempunyai level paling tinggi yang dapat melihat segala sesuatu yang berada di bawahnya yang merupakan bagian dari mesin. Inilah yang dapat disimpulkan mengenai mesin virtual yaitu menyediakan sebuah program antarmuka dengan underlying bare hardware. Virtual mesin dibuat dengan cara membagi sumber daya yag dilakukan oleh physical computer. Pada virtual mesin perangkat lunak memerlukan sedikit ruang untuk memori virtual dan spooling sehingga membutuhkan juga disk virtual. Tapi sayangnya, virtual mesin ini sangat sulit untuk diimplementasikan. Karena banyak hal yang harus disediakan untuk duplikat dari underlying machine. VM lebih cepat untuk dieksekusi dengan menggunakan spooling dan akan menjadi lambat dengan menggunakan interpreter.

Jika setiap user ada 1 VM maka akan bebas menjalankan system operasi yang diinginkan pada VM itu sendiri. Itulah yang merupakan kekurangan dari program Virtual machine. Namun VM juga memiliki kelebihan yang tidak dimiliki oleh program lainnya yaitu: mempunyai system keamana yang terjamin karena mempunyai perlindungan yang lengkap yang ada pada system sumber daya, pembagian resources dilakukan secara tidak langsung, dalam pembagian disk mini dan jaringan diimplementasikan dengan menggunakan perangka lunak, merupakan system yang sempurna jika digunakan untuk sebuah penelitian dan pengembangan Sistem operasi, dalam perubahan satu bagian dari mesin tidak akan berpengaruh terhadap komponen yang lainnya,.

Garbage collection

Garbage collection merupakan salah satu fitur canggih yang dimiliki oleh Java yang berfungsi untuk mengumpulkan semua memory yang ada pada computer sesaat setelah digunakan. Managemen memory sangatlah penting bagi seorang programmer karena seseorang dapat menjadi programmer yang handal jika dia bisa mengunakan managemen memory dengan semaksimal mungkin begitupun sebaliknya. Contohnya saja yaitu pada bahasa C yakni terletak pada pointer yang digunakan oleh programmer. Pointer senidir adalah dikenal sebagai objek dari suatu class yang memiliki reference terhadap class tersebut. Garbage collection ini tujuannya adalah untuk memudahkan programmer dalam mengumpulkan memori computer secara otomatis. Selain memudahkan juga bertujuan untuk mengatur pengguanaan memory komputernya. Garbage collection ini mempunyai kelebihan pada system penggunaan memory computer. Biasanya dalam kenyataan sehari-hari sangatlah sulit untuk melacak objek yang masuknya kategori sampah dan mana yang buka. Suatu objek dikatakan sebagai sampah jika semua referensi merujuk pada objek tersebut hilang. Jika dalam bahasa pemrograman yang lain seorang programmer harus mengatur sampahnya sendiri yang jika dilakukan secara manual sangatlah sulit dan sering menimbulkan bug yang tidak terduga, maka lain halnya dengan garbage collection ini.

Satu kesalahan yang sering dialami oleh bahasa pemrograman lainnya adalah kebocoran memori, yang dimana seorang programmer lupa untuk menghapus objek yang tidak lagi digunakan. Hal ini akan berakibat fatal jikalau kepenuhan memori sehingga nantinya computer dapat berhenti total. Namun inilah yang menjadi kelebihan oleh java yang memiliki garbage collection yang dimiliki oleh bahasa pemrograman lainnya.

Code security

Code security dapat diartikan sebagai kode pengaman yang fungsinya untuk melindungi system dari untrusted Java Code. Dalam code security terdapat 3 lapisan pengaman, yaitu:

Class loader

Berupa lapisan dari code3 security yang bertugas untuk menangani permutaan kelas java ke dalam runtime interpreter. System dari lapisan ini adalah dengan cara menyediakan pengamanan untuk memisahkan kelas-kelas yang berasal dari local disk degan kelas yang diambil oleh jaringan.

Bytecode verifier

yaitu bertujuan untuk membaca bytecode sebelum dijalankan dan untuk menjamin bytecode apakah sudah memnuhi aturan-aturan dasar dari bahasa Java.

Manajemen keamanan

yaitu tugasnya untuk mengamankan aplikasi dengan cara mengendalikan suatu program apakah berhak untuk mengakses sumberdaya misalnya saja dalam system file,port jaringan, proses eksternal dan system windowin atau tidak.

Java menyediakan berbagai teknik pengamanan yaitu :
  1. Bahasa dirancang dengan tujuan untuk mempersulit eksekusi kode perusak. Salah satu caranya adalah dengan peniadaan pointer untuk pengamanan. Jika pada seorang programmer yang handal keberadaan pointer merupakan hal yang luar biassa dan membantu pembuatan program secara efisien, namun jika berada pada programmer yang jahat maka akan menjadi petaka. Dengan peniadaan pointer maka java merupakan bhasa yang mempunyai keamanan yang baik. 
  2. Java mempunyai keamanan terhadap applet, yaitu dengan cara tidak memperbolehkan membuka, membaca ataupun menulis berkas secara sembarangan. Hal ini dilakukan agar mencegah penipuan dengan melakukan permintaan keterangan username dan password.


sumber

Post a Comment