JDK vs JRE vs JVM di Java – Perbedaan Antara Mereka
Perbedaan Utama Antara JDK, JRE, dan JVM
- JDK adalah kit pengembangan perangkat lunak sedangkan JRE adalah bundel perangkat lunak yang memungkinkan Java program untuk dijalankan, sedangkan JVM adalah lingkungan untuk mengeksekusi bytecode.
- Bentuk lengkap JDK adalah Java Development Kit, sedangkan JRE berbentuk lengkap Java Runtime Environment, sedangkan bentuk lengkapnya adalah JVM Java Mesin virtual.
- JDK dan JRE bergantung pada platform, sedangkan JVM bersifat independen pada platform pada tingkat bytecode tetapi bergantung pada implementasi spesifik platform.
- JDK berisi alat untuk pengembanganping, debugging, dll. JRE berisi pustaka kelas dan file pendukung lainnya, sedangkan alat pengembangan perangkat lunak tidak termasuk dalam JVM.
- JDK dilengkapi dengan penginstal, di sisi lain, JRE hanya berisi lingkungan untuk mengeksekusi kode sumber sedangkan JVM dibundel dalam perangkat lunak JDK dan JRE.
Apa itu JDK?
JDK adalah lingkungan pengembangan perangkat lunak yang digunakan untuk membuat applet dan Java aplikasi. Bentuk lengkap JDK adalah Java Perangkat Pengembangan. Java pengembang dapat menggunakannya Windows, macOS, Solaris, dan Linux. JDK membantu mereka membuat kode dan menjalankannya Java program. Dimungkinkan untuk menginstal lebih dari satu versi JDK di komputer yang sama.
Apa itu JRE?
JRE adalah perangkat lunak yang dirancang untuk menjalankan perangkat lunak lain. Ini berisi perpustakaan kelas, kelas pemuat, dan JVM. Secara sederhana, jika Anda ingin menjalankan Java program yang Anda butuhkan JRE. Jika Anda bukan seorang programmer, Anda tidak perlu melakukannya instal JDK, tapi hanya JRE yang dijalankan Java program. Padahal, semua versi JDK disertakan Java Runtime Environment, jadi Anda tidak perlu mendownload dan menginstal JRE secara terpisah di PC Anda. Bentuk lengkap JRE adalah Java Lingkungan Waktu Proses.
Apa itu JVM?
JVM adalah mesin yang menyediakan lingkungan runtime untuk menggerakkan Java Code atau aplikasi. Ini mengkonversi Java bytecode ke dalam bahasa mesin. JVM adalah bagian dari Java Jalankan Lingkungan (JRE). Itu tidak dapat diunduh dan diinstal secara terpisah. Untuk menginstal JVM, Anda perlu menginstal JRE. Bentuk lengkap JVM adalah Java Mesin virtual.
Dalam banyak bahasa pemrograman lain, kompiler menghasilkan kode mesin untuk sistem tertentu. Namun, Java compiler menghasilkan kode untuk mesin virtual yang disebut sebagai JVM.
Mengapa menggunakan JDK?
Berikut adalah alasan penting menggunakan JDK:
- JDK berisi alat yang diperlukan untuk menulis Java program, dan JRE untuk mengeksekusinya.
- Ini termasuk kompiler, Java peluncur aplikasi, Appletviewer, dll.
- Kompiler mengonversi kode yang ditulis Java menjadi kode byte.
- Java peluncur aplikasi membuka JRE, memuat kelas yang diperlukan, dan menjalankan metode utamanya.
Mengapa menggunakan JRE?
Berikut alasan penting menggunakan JRE:
- JRE berisi perpustakaan kelas, JVM, dan file pendukung lainnya. Itu tidak mengandung alat apa pun untuk Java pengembangan seperti debugger, kompiler, dll.
- Ia menggunakan kelas paket penting seperti math, swingetc, util, lang, awt, dan pustaka runtime.
- Jika Anda harus lari Java applet, maka JRE harus diinstal di sistem Anda.
Mengapa JVM?
Berikut adalah alasan penting menggunakan JVM:
- JVM menyediakan cara eksekusi yang tidak bergantung pada platform Java Kode sumber.
- Ini memiliki banyak perpustakaan, alat, dan kerangka kerja.
- Setelah Anda berlari Java program, Anda dapat menjalankannya di platform apa pun dan menghemat banyak waktu.
- JVM hadir dengan kompiler JIT (Just-in-Time) yang mengkonversi Java kode sumber ke dalam bahasa mesin tingkat rendah. Oleh karena itu, ini berjalan lebih cepat seperti aplikasi biasa.
Fitur JDK
Berikut adalah fitur-fitur penting JDK:
- Ini memungkinkan Anda menangani banyak ekstensi dalam satu blok tangkapan.
- JDK mencakup semua fitur yang dimiliki JRE.
- Ini berisi alat pengembangan seperti kompiler, debugger, dll.
- JDK menyediakan lingkungan untuk mengembangkan dan mengeksekusi Java Kode sumber.
- Itu dapat diinstal pada Windows, Unix, dan sistem operasi Mac.
- Operator berlian dapat digunakan dalam menentukan tipe antarmuka generik alih-alih menulis antarmuka yang persis sama.
Fitur JRE
Berikut adalah fitur-fitur penting dari JRE:
- Java Runtime Environment adalah seperangkat alat yang digunakan untuk menjalankan JVM.
- JRE berisi teknologi penerapan, termasuk Java Mulai Web dan Java Pengaya.
- Pengembang dapat dengan mudah menjalankan kode sumber di JRE, tetapi dia tidak dapat menulis dan mengkompilasinya Java program.
- Ini termasuk perpustakaan integrasi seperti Java Konektivitas Basis Data (JDBC), Doa Metode Jarak Jauh (RMI), Java Penamaan dan Antarmuka Direktori (JNDI), dan banyak lagi.
- JRE memiliki JVM dan Java Klien mesin virtual HotSpot.
Fitur JVM
Berikut adalah fitur penting dari JVM:
- Ini memungkinkan Anda menjalankan aplikasi di lingkungan cloud atau di perangkat Anda.
- Java Mesin Virtual mengubah kode byte menjadi kode khusus mesin.
- Ini menyediakan fungsi dasar Java seperti manajemen memori, keamanan, pengumpulan sampah, dan banyak lagi.
- JVM menjalankan program dengan menggunakan perpustakaan dan file yang diberikan oleh Java Lingkungan Waktu Proses.
- JDK dan JRE keduanya berisi Java Mesin virtual.
- Ia dapat mengeksekusi program java baris demi baris sehingga disebut juga sebagai interpreter.
- JVM mudah disesuaikan misalnya, Anda dapat mengalokasikan memori minimum dan maksimum ke dalamnya.
- Itu tidak bergantung pada perangkat keras dan sistem operasi. Jadi, Anda dapat menulis program java satu kali dan dijalankan di mana saja.
Bagaimana Fungsi JDK?

Berikut adalah komponen penting JDK:
- JDK dan JRE: JDK memungkinkan pemrogram membuat inti Java program yang dapat dijalankan oleh JRE, termasuk JVM dan perpustakaan kelas.
- Perpustakaan Kelas: Ini adalah sekelompok perpustakaan yang dapat dimuat secara dinamis Java program dapat memanggil pada saat run time.
- Kompiler: Ini adalah Java program yang menerima file teks pengembang dan dikompilasi ke dalamnya Java berkas kelas. Ini adalah bentuk keluaran umum yang diberikan oleh kompiler, yang berisi Java kode byte. Di dalam Java, kompiler utamanya adalah Javac.
- Debugger: Debugger adalah a Java program yang memungkinkan pengembang menguji dan melakukan debug Java program.
- JavaDokter: JavaDoc adalah dokumentasi yang dibuat oleh Sun Microsystems untuk Java. JavaDoc dapat digunakan untuk menghasilkan dokumentasi API dalam file HTML dari program sumber
Bagaimana Fungsi JRE?
JRE memiliki instance JVM, kelas perpustakaan, dan alat pengembangan. Setelah Anda menulis dan mengkompilasi Java kode, kompiler menghasilkan file kelas yang memiliki kode byte.
Berikut komponen penting JRE:
- Pemuat kelas: Pemuat kelas memuat berbagai kelas yang diperlukan untuk menjalankan a Java program. JVM menggunakan tiga pemuat kelas yang disebut pemuat kelas bootstrap, pemuat kelas ekstensi, dan pemuat kelas sistem.
- Pemverifikasi kode byte: Pemverifikasi kode byte memverifikasi bytecode sehingga kode tersebut tidak mengganggu penerjemah.
- Penerjemah: Setelah kelas dimuat, dan kode diverifikasi, penerjemah membaca kode baris demi baris.
- Waktu berjalan: Run-time adalah sistem yang digunakan terutama dalam pemrograman untuk menggambarkan periode waktu selama program tertentu berjalan.
- Hardware: Setelah Anda mengkompilasi Java kode asli, ini berjalan pada platform perangkat keras tertentu.
Dengan cara ini, Java program berjalan di JRE.
Bagaimana Fungsi JVM?
Berikut adalah komponen penting dari JVM:
1) Pemuat Kelas
Class loader adalah subsistem yang digunakan untuk memuat berkas kelas. Ia menjalankan tiga fungsi utama, yaitu: Memuat, Menghubungkan, dan Inisialisasi.
2) Bidang Metode
Area Metode JVM menyimpan struktur kelas seperti metadata, kodenya Java metode, dan kumpulan runtime yang konstan.
3) Tumpukan
Semua Objek, array, dan variabel instan disimpan dalam heap. Memori ini dibagikan ke beberapa thread.
4) Tumpukan bahasa JVM
Java Tumpukan bahasa menyimpan variabel lokal, dan hasil parsialnya. Setiap thread memiliki tumpukan bahasa JVM sendiri, yang dibuat secara bersamaan saat thread dibuat. Frame baru dibuat ketika metode dipanggil, dan dihapus ketika proses pemanggilan metode selesai.
5) Register PC
Register PC menyimpan alamat Java instruksi mesin virtual, yang sedang dijalankan. Di dalam Java, setiap thread memiliki register PC terpisah.
6) Tumpukan Metode Asli
Tumpukan metode asli menyimpan instruksi kode asli bergantung pada perpustakaan asli. Ini mengalokasikan memori pada tumpukan asli atau menggunakan jenis tumpukan apa pun.
7) Mesin Eksekusi
Ini adalah jenis perangkat lunak yang digunakan untuk menguji perangkat lunak, perangkat keras, atau sistem lengkap. Mesin pelaksanaan pengujian tidak pernah membawa informasi apa pun tentang produk yang diuji.
8) Antarmuka Metode Asli
Antarmuka Metode Asli adalah kerangka pemrograman. Itu memungkinkan Java kode, yang berjalan di JVM untuk dipanggil oleh perpustakaan dan aplikasi asli.
9) Perpustakaan Metode Asli
Perpustakaan Asli adalah kumpulan Perpustakaan Asli (C, C++), yang dibutuhkan oleh Mesin Eksekusi.
Perbedaan Antara JDK, JRE dan JVM
Berikut adalah perbedaan utama antara JDK vs JRE vs JVM:
| JDK | JRE | FMV |
|---|---|---|
| Bentuk lengkap JDK adalah Java Perangkat Pengembangan. | Bentuk lengkap JRE adalah Java Lingkungan Waktu Proses. | Bentuk lengkap JVM adalah Java Mesin virtual. |
| JDK adalah kit pengembangan perangkat lunak untuk mengembangkan aplikasi Java. | Ini adalah bundel perangkat lunak yang menyediakan Java perpustakaan kelas dengan komponen yang diperlukan untuk dijalankan Java kode. | JVM dijalankan Java kode byte dan menyediakan lingkungan untuk mengeksekusinya. |
| JDK bergantung pada platform. | JRE juga bergantung pada platform. | JVM bersifat independen terhadap platform. |
| Ini berisi alat untuk pengembanganping, melakukan debugging, dan memantau kode Java. | Ini berisi perpustakaan kelas dan file pendukung lainnya yang diperlukan JVM untuk menjalankan program. | Alat pengembangan perangkat lunak tidak termasuk dalam JVM. |
| Ini adalah superset dari JRE | Ini adalah bagian dari JDK. | JVM adalah bagian dari JRE. |
| JDK memungkinkan pengembang untuk membuat Java program yang dapat dieksekusi dan dijalankan oleh JRE dan JVM. | JRE adalah bagian dari Java yang menciptakan JVM. | Ini adalah Java komponen platform yang mengeksekusi kode sumber. |
| JDK dilengkapi dengan penginstal. | JRE hanya berisi lingkungan untuk mengeksekusi kode sumber. | JVM dibundel dalam perangkat lunak JDK dan JRE. |
