[ HTML ] [ Java ] [ Bahasa C ]


Senin, Mei 03, 2021

Perbedaan Antara JDK JRE dan JVM pada Bahasa Pemrograman Java

Pada artikel ini akan dijelaskan mengenai JDK, JRE, dan JVM pada bahasa pemrograman Java beserta dengan komponen-komponen yang terdapat didalam ketiga perangkat tersebut.

Java Development Kit
JDK adalah lingkungan perangkat lunak yang digunakan untuk pengembangan Java aplikasi dan applet. JDK berisi JRE, interpreter atau loader (Java), compiler (javac), dan arsip (jar), generator dokumentasi (Javadoc), dan perangkat lain yang dibutuhkan pada proses pengembangan.

Java Runtime Environment
JRE berfungsi untuk menyediakan persyaratan minimum untuk mengeksekusi aplikasi java. JRE terdiri dari JVM, class inti, dan data penunjang.

Java Virtual Machine, terdiri dari:
satu, Spesifikasi, dimana JVM bekerja secara spesifik. Tetapi implementasi penyedia bersifat independent dalam pemilihan algoritma. Implementasi JVM disediakan oleh Sun dan perusahaan lainnya.
dua, Implementasi, adalah program komputer yang mempertemukan antara kebutuhan dari JVM terhadap spesifikasinya.
tiga, Runtime instance, Dimanapun lokasi untuk membuat perintah pada command prompt untuk menjalankan java class disitulah instance dari JVM diciptakan.

Perbedaan JDK, JRE, dan JVM
Untuk dapat memahami perbedaan ketiganya perhatikan diagram pada gambar 1.


JDK - Java Development Kit menyediakan lingkungan pengembangan dan eksekusi program Java. JDK adalah perangkat atau paket yang didalamnya terdapat :
satu, Perangkat Pengembangan (Development Tools), yang menyediakan lingkungan pengembangan untuk program Java.
dua, JRE, berfungsi untuk mengeksekusi program Java.

catatan: JDK hanya dipergunakan untuk pengembangan program pada Java.

JRE - Java Runtime Environment adalah paket instalasi yang hanya menyediakan lingkungan untuk untuk menjalankan program Java atau aplikasi. JRE hanya digunakan oleh mereka yang ingin menjalankan program Java atau pengguna yang menjalankan sistem Java.

JVM - Java Virtual Machine adalah bagian yang sangat penting bagi JDK dan JRE. Ketika program Java menjalankan program menggunakan JRE atau JDK keduanya dijalankan melalui JVM. JVM bertanggungjawab untuk mengeksekusi baris per baris dari program Java atau lebih dikenal sebagai interpreter.

Cara kerja JRE dan JDK

Isi Komponen JRE, terdiri dari beberapa komponen yaitu:
satu, Teknologi Deployment, termasuk didalamnya deployment, Java Web Start, dan Java Plug-in.
dua, Perangkat Pengguna Interface, termasuk didalamnya Abstract Window Toolkit (AWT), Swing, Java 2D, Accessibility, Image I/O, Print Service, Sound, drag and drop (DnD), dan method input.
tiga, Pustaka Integrasi, termasuk didalamnya Interface Definition Language (IDL), Java Database Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Remote Method Invocation (RMI), Remote Method Invocation Over Internet Inter-Orb Protocol (RMI-IIOP), dan scripting.
empat, Pustaka (libraries) lainnya, seperti termasuk diantaranya international support, input/output (I/O), Java Native Interface (JNI), Math, Networking, Override Mechanism, Security, Serialization, dan Java for XML Processing (XML JAXP).
lima, basis pustaka lang and util, didalamnya termasuk lang and util, management, versioning, zip, instrument, reflection, Collections, Concurrency Utilities, Java Archive (JAR), Logging, Prerefences API, Ref Objects, dan Regular Expressions.
enam, Java Virtual Machine (JVM), termasuk didalamnya Java HotSpot dan Server Virtual Machines.

Cara Kerja JRE
Untuk memahami prinsip kerja dari JRE, bayangkan sebuah Java source file yang disimpan dengan nama Example.java. Kemudian, file tersebut dikompilasi kedalam set Bytecode yang disimpan sebagai .class file. Tahapan kompilasi tersebut diperlihatkan pada gambar 2.


Aktivitas yang terjadi pada saat runtime adalah sebagai berikut:

Class Loader
Class loader melakukan loading terhadap semua class yang dibutuhkan pada saat eksekusi program. Class loader memberikan keamanan dengan memisahkan ruang nama sistem file lokal dari yang diimpor melalui jaringan. File-file tersebut di-load dari hard disk, jaringan, dan dari sumber lainnya.

Byte Code Verivier
JVM mengambil kode program melalui Byte Code Verifier yang memeriksa format dan legalitas kode. Ilegal kode adalah kode yang melanggar hak akses pada objek atau melanggar prinsip penerapan dari pointer. Byte Code Verfier memastikan semua kode mengikuti aturan dari spesifikasi JVM dan tidak melanggar integritas sistem seperti yang diperlihatkan pada gambar 3.


Interpreter
Saat proses runtime oleh interpreter terhadap Byte Code, interpreter akan melakukan loading, pemeriksaan, dan menjalankan program. Interpreter memiliki dua fungsi yaitu, untuk mengeksekusi Byte Code, dan melakukan panggilan yang sesuai ke perangkat keras yang mendasarinya. Kedua fungsi interpreter tersebut diperlihatkan pada gambar 4.


Untuk dapat lebih memahami interaksi antara JDK dan JRE perhatikan gambar 5 berikut ini.


Cara Kerja JVM
JVM menjadi instance dari JRE pada saat runtime dari program Java. JVM lebih dikenal sebagai runtime interpreter. Secara lebih luas, JVM membantu proses abstraksi implementasi internal dari para programmer yang memanfaatkan library atau sumber pustaka untuk program yang terdapat pada JDK.

6 komentar:

  1. Secara sederhana apa yang dimaksud dengan JDK pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Java Development Kit atau JDK adalah lingkungan pengembangan perangkat lunak yang digunakan untuk mengembangkan aplikasi dan applet berbasis Java. Pada JDK juga termasuk JRE atau Java Runtime Environment, interpreter atau loader (Java), kompilator (javac), gerenator dokumentasi (Javadoc) dan alat-alat lain yang diperlukan dalam pengembangan aplikasi Java.

      Hapus
  2. Apa yang dimaksud dengan JRE? apa peran JRE terhadap pengembangan aplikasi berbasis Java?

    BalasHapus
    Balasan
    1. JRE adalah akronim dari Java Runtime Environment.

      Pada dasarnya, JRE adalah semua hal yang dibutuhkan oleh pengembang untuk menjalankan program Java yang telah dikompilasi oleh kompilator. JRE juga menyediaka library, class, dan JVM yang juga diperlukan dalam untuk menjalankan program Java yang telah dikompilasi.

      Namun demikian, JRE tidak menyertakan kompilator (javac) dan beberapa perangkat lainnya. Jadi, hanya menggunakan JRE saja tidaklah cukup untuk membuat suatu program baru pada Java.

      Untuk dapat membuat sebuah program baru pada Java, diperlukan JDK atau Java Development Kit yang didalamnya menyertakan JRE dan alat-alat lain yang juga termasuk kompilator dan debugger didalammnya.

      Jika tujuan akhir dari pengembang adalah untuk menjalankan beberapa program Java di komputer, maka JRE saja sudah cukup tanpa harus melakukan instalasi JDK, namun jika pengembang juga harus melakukan pembuatan program atau aplikasi, maka JDK juga harus terinstal pada perangkat komputer yang digunakan untuk mengembangkan aplikasi tersebut.

      Hapus
  3. Apakah JVM pada bahasa Java dikembangkan menggunakan bahasa C? atau, hanya berada pada level bahasa pemrograman yang sama seperti C saja?

    BalasHapus
    Balasan
    1. Sebagian besar implementasi Sun pada Java-JVM adalah dibuat menggunakan bahasa C. Dimana bahasa C juga menjadi inti dari interpreter dan kompilasi kelas Java, implementasi thread dan manajemen memori, dan lain sebagainya. Sebagian besar library Java ditulis langsung pada Java, dengan beberapa bagian dari kode programmnya juga ditulis dalam bahasa C dan C++ terutama pada AWT, Java 2D, java.net, javax.crypto, dan lain segagainya.

      Hapus

Respon komentar 7 x 24 jam, so please be patient :D