Kamis, Maret 07, 2019

Perbedaan Antara JDK JRE dan JVM Pada Bahasa Pemrograman Java

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.

perbedaan antara JDK JRE dan JVM pada bahasa pemrograman Java
Gambar 1 perbedaan antara JDK, JRE, dan JVM
sumber : geekforgeek.org

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 oleh para pengembang 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.

Bagaimana Cara JRE dan JDK bekerja?

Apa yang terdapat didalam JRE?
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.

Bagaimana cara JRE bekerja?
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.

tahapan-tahapan kompilasi program Java menggunakan compiler
Gambar 2 tahap kompilasi program Java
sumber : geekforgeek.org

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 diperlihatkan pada gambar 3.

tahapan runtime proses pada pemrograman Java
Gambar 3 runtime proses
sumber : geekforgeek.org

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.

tahapan kompilasi dan runtime oleh interpreter pada bahasa pemrograman Java
Gambar 4 tahap kompilasi dan runtime
sumber : geekforgeek.org

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

tahapan keseluruhan interaksi antara JDK dan JRE pada proses runtime aplikasi Java dengan menggunakan interpreter
Gambar 5 interaksi JDK dan JRE
sumber : geekforgeek.org

Bagaimanakah cara JVM bekerja?
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 libraries atau sumber pustaka untuk program yang terdapat pada JDK.





Related Posts

Perbedaan Antara JDK JRE dan JVM Pada Bahasa Pemrograman Java
Oleh

mohon untuk melakukan koreksi jika terdapat kesalahan pada penulisan blog ini,