Tentang Java, bukannya Jawa.... (^_^)

Apa itu Java ?

Java jika diartikan dalam Bahasa Indonesia berarti Jawa, salah satu pulau besar di Indonesia. upsss...salah.....maksud Java di sini adalah sebuah bahasa pemrograman yang berorientasi objek, sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada pertengahan tahun 1990.
Menurut definisi Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer stand alone ataupun pada lingkungan jaringan. dari definisi tersebut berarti Java  selain sebagai sebuah bahasa pemrograman Java dapat juga disebut sebagai sebuah teknologi.

Teknologi Java terdiri dari 3 komponen penting yaitu :
1. Programming Language Specification.
2. Application Programming Interface
3. Virtuual Machine Specification

Bahasa Pemrograman Java

Bahasa Java dapat di kelompokan sebagai sebuah bahasa yang berorientasi objek, ojek Java di spesifikasikan dengan membentuk class. Untuk masing-masing class Java, kompiler Java memproduksi sebuah file keluaran arsitektur netral yang akan jalan pada berbagai implementasi dari Java Virtual Machine (JVM). Java juga menyediakan dukungan level tinggi untuk networking dan objek terdistribusi.
Java juga dianggap sebagai sebuah bahasa yang aman. Tampilan ini pada khususnya penting menganggap bahwa sebuah program Java boleh mengeksekusi silang sebuah jaringan terdistribusi. 

Tetapi program yang dibuat dalam bahasa Java juga relatif lebih banyak membutuhkan waktu saat di eksekusi (lebih lama) dikarenakan untuk menjalankan programnya dibutuhkan JVM (perantara antar program dan sistem operasi).


JAVA API

Java API terdiri dari tiga bagian utama :

1. Java Standard Edition (SE)             : 
Sebuah standar API untuk merancang aplikasi desktop dan applets dengan bahasa dasar yang mendukung grafis, M/K, keamanan, konektivitas basis data dan jaringan.



2. Java Enterprose Edition (EE)         :   Sebuah inisiatif API untuk merancang aplikasi server dengan mendukung untuk basis data.

3. Java Macro Edition (ME)                  :  
Sebuah API untuk merancang aplikasi yang jalan pada alat kecil seperti telepon genggam, komputer genggam dan pager.




Fitur menarik Java API 

Beberapa fitur yang ditawarkan Java API antara lain sebagai berikut :
a. Applet
Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih dinamis dan menarik.
b. Java Networking
Sekumpulan API (Application Programming Interface) yang menyediakan fungsi – fungsi untuk aplikasi – aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Adrress dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alasan sekuriti dan pada kondisi umum hanya administrator ( root ) yang bisa memanfaatkan protokol ICMP.
c. Java Database Connectivity (JDBC)
JDBC menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle, MySQL, PostgreSQL, Microsoft SQL Server.
d. Java Security
Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara high level atau low level, seperti public/private key management dan certificates.
e. Java Swing
Java Swing menyediakan sekumpulan API untuk membangun aplikasi – aplikasi GUI (Graphical User Interface) dan model GUI yang diinginkan bisa bermacam – macam, bisa model Java, model Motif/CDE atau model yang dependent terhadap platform yang digunakan.
f. Java RMI
Java RMI menyediakan sekumpulan API untuk membangun aplikasi – aplikasi Java yang mirip dengan model RPC (Remote 4 Procedure Call) jadi object - object Java bisa di call secara remote pada jaringan komputer.
g. Java 2D/3D
Java 2D/3D menyediakan sekumpulan API untuk membangun grafik – grafik 2D/3D yang menarik dan juga akses ke printer.
h. Java Server Pages
Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi – aplikasi CGI, JSP (Java Server Pages) yang mirip ASP dan PHP merupakan alternatif terbaik untuk solusi aplikasi Internet.
i. JNI (Java Native Interface)
JNI menyediakan sekumpulan API yang digunakan untuk mengakses fungsi – fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C,C++, dan Basic.
j. Java Sound
Java Sound menyediakan sekumpulan API untuk manipulasi sound.
k. Java IDL + CORBA
Java IDL (Interface Definition Language) menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia networking.
l. Java Card
Java Card utamanya digunakan untuk aplikasi – aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada handphone.
m. JTAPI (Java Telephony API)
Java Telepony API menyediakan sekumpulan API untuk memanfaatkan devices – devices telepony, sehingga akan cocok untuk aplikasi – aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution), PCPBX dan lainnya.


Java Virtual Machine (JVM)



Mesin Virtual Java atau Java Virtual Machine (JVM) terdiri dari sebuah class loader dan Java interpreter yang mengeksekusi architecture-neutral bytecode. Java interpreter merupakan suatu fasilitas penerjemah dalam JVM. Fungsi utamanya adalah untuk membaca isi berkas bytecode (.class) yang dibuat kompilator Java saat berkas berada dalam memori, kemudian menerjemahkannya menjadi bahasa mesin lokal. Java interpreter dapat berupa perangkat lunak yang menginterpretasikan bytecode setiap waktu, atau hanya Just-In-Time (JIT), yang mengubah architecture-neutral bytecode menjadi bahasa mesin lokal. Interpreter bisa juga diimplementasikan pada sebuah chip perangkat keras. Instance dari JVM dibentuk ketika aplikasi Java atau applet dijalankan. JVM mulai berjalan saat method main() dipanggil.
Meski sistem program berada di level tertinggi, program aplikasi bisa melihat segala sesuatu di bawahnya (pada tingkatan) seakan mereka adalah bagian dari mesin. Pendekatan dengan lapisan-lapisan inilahyang diambil sebagai kesimpulan logis pada konsep mesin virtual atau virtual machine (VM). Pendekatan VM menyediakan sebuah antarmuka yang identik dengan underlying bare hardware . VM dibuat dengan pembagian sumber daya oleh physical computer. VM perangkat lunak membutuhkan ruang pada disk untuk menyediakan memori virtual dan spooling sehingga perlu ada disk virtual.
Pada applet, JVM menciptakan method main() sebelum membuat applet itu sendiri. Java Development Environment terdiri dari sebuah Compile-Time Environment dan Runtime Environment. Compile berfungsi mengubah sourcecode Java menjadi bytecode, sedangkan Runtime merupakan Java Platform untuk sistem Host.
Meski sangat berguna, VM sulit untuk diimplementasikan. Banyak hal yang dibutuhkan untuk menyediakan duplikat yang tepat dari underlying machine. VM dapat dieksekusi pada only user mode sehingga kita harus mempunyai virtual user mode sekaligus virtual memory mode yang keduanya berjalan di physical user mode. Ketika instruksi yang hanya membutuhkan virtual user mode dijalankan, ia akan mengubah isi register yang berefek pada virtual monitor mode sehingga dapat memulai ulang VM tersebut. Sebuah instruksi M/K yang membutuh waktu 100 ms, dengan menggunakan VM bisa dieksekusi lebih cepat karena spooling atau lebih lambat karena interpreter. Terlebih lagi, CPU menjadi multiprogrammed diantara banyak VM. Jika setiap user diberi 1 VM, dia akan bebas menjalankan sistem operasi (kernel) yang diinginkan pada VM tersebut.
Selain kekurangan yang telah disebutkan diatas, jelas VM memiliki kelebihan-kelebihan, yaitu: Keamanan yang terjamin karena VM mempunyai perlindungan lengkap pada berbagai sistem sumber daya, tidak ada pembagian resources secara langsung. Pembagian disk mini dan jaringan diimplementasikan dalam perangkat lunak. Sistem VM adalah kendaraanyang sempurna untuk penelitian dan pengembangan Sistem Operasi. Dengan VM, perubahan satu bagian dari mesin dijamin tidak akan mengubah komponen lainnya.
Mesin Virtual Java atau Java Virtual Machine (JVM) terdiri dari sebuah kelas loader dan java interpreter yang mengeksekusi the architecture-neutral bytecodes. Java interpreter bisa berupa perangkat lunak yang menginterpretasikan kode byte setiap waktu atau hanya Just-In-Time (JIT) yang mengubah architecture-neutral bytecodes menjadi bahasa mesin lokal. Interpreter bisa juga diimplementasikan pada sebuah chip perangkat keras. Instance dari JVM dibentuk ketika aplikasijava atau applet dijalankan. JVM mulai berjalan saat method main dipanggil. Pada applet, JVM menciptakan method main sebelum membuat applet itu sendiri.
Java Development Environment terdiri dari sebuah Compile Time Environment dan RunTime Environment. Compile berfungsi mengubah java sourcecode menjadi kode byte. Sedangkan RunTime merupakan Java Platform untuk sistem Host.
0 Responses

    Followers