apa ya Java Itu

Teknologi Java lebih dari sekedar bahasa pemrograman tingkat tinggi. Lebih dari itu ia merupakan sebuah platform. Dalam artian, Java menyediakan dukungan berbagai macam teknologi yang bisa digunakan untuk membangun applikasi dengan kompleksitas variannya.

Karena luasnya cakupan Java (sekarang perkembangannya udah jauh banget) bisa jadi bingugn awal mo ngapai. Tak bisa disangkal sih klo Java berkembang dari sebuah bahasa pemrograman. Jadi kayaknya lebih baik Kita familiarkan dulu sama konsep permrograman di Java. Klo sintax sih hampir sama kAyak c ato c++.

1. Alur bagaimana kode java bisa dijalankan dan diterjemahkan oleh mesin, seperti digambarin pada gambar ini


2. Konsep multiplatform. Pernah dengar istilah WORA (Write Once Run Anywhere) kan? Nah Java bisa seperti itu. Ia independen dari platform hardware dan OS nya. Ini tidak lepas dari konsep JVM nya. Pertama kali dikompile file .java diubah ke dalam .class. Nah yang disimpen di .class ini dalam bentuk bytecode. Bukan kode native ato mudahnya sebut aja bahasa mesin yang unik terhadap processor ato platform hardware. Java bytecode merupakan bahasa mesin dari Java Virtual Mesin. Nah JVM ini yang kemudian kan menerjemahkan bytecode ke dalam bahasa mesin hardwarenya. Itulah kenapa klo udah bikin program Java trus udah dikompilasi .class dan kita jalankan dimana aja file .class tersebut, asalah ada JVM yang nerjemahin ke bashas mesin pasti bisa jalan.


3. Tadi sempat disebutin klo Jav itu adalah Platform. Sebenarnya gmn ya maskudnya? Biasanya yang disebut Platform adalah hardware dan software gandengannya. Contoh Hardware nya dari Apple Macintosh, sistem operasinya Mac OS, arsitekturnya Sparc dari Sun OS nya pake Sun SPARC. Tapi Java gak seperti itu, Java itu software Platform. Jadi komponennya ya software semua. Seperti di gambar ini


Java Platform terdiri dari dua, yaitu Java API ato kumpulan librarynya dan JVM (Yang nerjemahkan bytecode ke kode mesin). Konsekuensinya karena harus diterjemahin dulu sama JVM maka lebih lambat. Tapi karena pengembangan terus menerus di sisi compiler dan virtual mechine nya, maka akan semakin mendekati kecepatan native code (yang gak usah diterjemahin dulu peke virtual machine).

Demikian sementara...da yang mau diskusi? klo gak da lanjut aja...

0 komentar:

Posting Komentar