Perbezaan Antara JDK, JRE, dan JVM

Hai di sana, pemaju Java yang berhasrat! Saya sangat gembira untuk menyertai perjalanan penyusunan kod ini dengan anda. Sebagai guru sains komputer yang mesra di kampung halaman anda, saya di sini untuk membuka jubah penyamaran dunia alat pengembangan Java yang sering membingungkan. Jadi, rakamkan satu gelas kopi (atau teh, jika itu adalah garam anda), dan mari kita melompat ke atas wilayah yang menarik JDK, JRE, dan JVM!

Java - JDK vs JRE vs JVM

Apa itu JDK?

JDK adalah singkatan untuk Java Development Kit, dan ia adalah set peralatan superhero untuk pemaju Java. Pikirkan ia sebagai rakit penyelamat anda yang dapat dipercayai untuk membuat aplikasi Java. JDK mengandungi semua yang anda perlu untuk mengembangkan, mengkompil, dan menjalankan program Java.

Komponen Utama JDK

  1. Pengkompil Java (javac): Alat penyihir ini mengubah kod Java yang dapat dibaca manusia menjadi bytecode yang dapat difahami oleh Java Virtual Machine.

  2. Perlindungan Penjalanan Java (JRE): Ya, JDK termasuk JRE! Kami akan menyelidiki ini lebih lanjut tidak lama lagi.

  3. Alat Pengembangan: Ini adalah seperti sekutu kepada superhero kami, termasuk penyahpijat dan alat dokumentasi.

Mari kita lihat contoh sederhana menggunakan JDK untuk mengkompil dan menjalankan program Java:

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

Untuk mengkompil program ini, anda akan menggunakan pengkompil Java (javac) seperti ini:

javac HelloWorld.java

Ini mencipta satu fail HelloWorld.class yang mengandungi bytecode. Untuk menjalankannya, anda akan menggunakan:

java HelloWorld

Dan voila! Anda akan melihat "Hello, World!" dicetak ke konsol anda.

Apa itu JRE?

JRE, atau Perlindungan Penjalanan Java, adalah seperti rumah yang kemas dan hangat di mana program Java anda tinggal dan tumbuh subur. Ia menyediakan persekitaran penjalanan yang diperlukan untuk menjalankan aplikasi Java.

Komponen Utama JRE

  1. Java Virtual Machine (JVM): Jantung JRE, yang akan kita eksplor lebih detail tidak lama lagi.

  2. Pustaka Kelas Java: Koleksi kod yang telah ditulis yang dapat digunakan oleh program Java anda.

  3. Pemuat Kelas Java: Komponen ini memuat, menghubungkan, dan menginisialisasi kelas dan antara muka Java.

Jika anda hanya menjalankan aplikasi Java dan tidak mengembangkan mereka, JRE adalah semua yang anda perlu. Ia adalah seperti memiliki pemain DVD (JRE) untuk menonton filem (program Java) tanpa perlu peralatan untuk membuat filem (JDK).

Apa itu JVM?

Java Virtual Machine (JVM) adalah enjin penyihir yang menggerakkan filosofi Java "tulis sekali, jalan di mana-mana". Ia adalah mesin pengiraan abstrak yang menyediakan persekitaran penjalanan untuk menjalankan bytecode Java.

Fitur Utama JVM

  1. Kesopanan Platform: JVM bertindak sebagai rakit penyambung antara program Java anda dan sistem operasi yang berada di bawahnya.

  2. Pengurusan Memori: JVM menguruskan alokasi dan pengembalian memori (koleksi rak).

  3. Keselamatan: Ia menyediakan persekitaran yang aman untuk menjalankan aplikasi Java.

Inilah pandangan yang dipersingkat bagaimana JVM bekerja:

[Your Java Code] -> [Java Compiler] -> [Bytecode] -> [JVM] -> [Machine Code]

JVM menginterpretasikan bytecode dan mengubahnya menjadi arahan spesifik mesin pada saat itu.

Perbezaan antara JDK, JRE, dan JVM

Sekarang bahwa kita telah bertemu dengan tiga musuh Java kita, mari kita lihat bagaimana mereka bekerja bersama dan berbeza:

Fitur JDK JRE JVM
Tujuan Pengembangan Penjalanan Persekitaran Penjalanan
Mengandungi JRE + Alat Pengembangan JVM + Pustaka -
Digunakan oleh Pemaju Pengguna Akhir JRE
Termasuk Pengkompil Ya Tidak Tidak

Pikirkan ia begitu:

  • JDK adalah bengkel penuh di mana anda membina aplikasi Java.
  • JRE adalah ruang pameran di mana aplikasi ini dipaparkan dan digunakan.
  • JVM adalah enjin yang menggerakkan semuanya di belakang layar.

Java Control Statements

Pernyataan pengawalan adalah rakit penyambung bagi program Java anda, mengarahkan aliran eksekusi. Mari kita lihat beberapa contoh:

Pernyataan If-Else

int umur = 18;
if (umur >= 18) {
System.out.println("Anda boleh untuk mengundi!");
} else {
System.out.println("Maaf, anda terlalu muda untuk mengundi.");
}

Kod ini memeriksa jika seseorang cukup umur untuk mengundi. Ia adalah seperti penyelamatan di atas rakit penyambung, tetapi untuk demokrasi!

For Loop

for (int i = 1; i <= 5; i++) {
System.out.println("Count: " + i);
}

Loop ini adalah seperti instruktur kegemilangan, membuat anda untuk mengira rakaman anda dari 1 hingga 5.

Pengaturcaraan Berorientasi Objek

Pengaturcaraan Berorientasi Objek (OOP) adalah tulang belakang Java. Ia adalah seperti bermain dengan rakit LEGO, di mana setiap rakit (objek) memiliki properti dan tingkah laku sendiri.

Contoh Kelas dan Objek

public class Anjing {
String nama;
String jenis;

public void gong() {
System.out.println(nama + " berkata Woof!");
}

public static void main(String[] args) {
Anjing anjingSaya = new Anjing();
anjingSaya.nama = "Buddy";
anjingSaya.jenis = "Golden Retriever";
anjingSaya.gong();
}
}

Dalam contoh ini, kita telah mencipta satu kelas Anjing (blueprint LEGO kita) dan satu contoh daripadanya (kreasi LEGO kita yang sebenar). Metode gong() memberikan anjing kita suara mereka!

Kelas Terbina-dalam Java

Java datang dengan rakit penyimpanan kelas yang membuat hidup pemaju menjadi lebih mudah. Mari kita lihat beberapa:

Kelas String

String ucapan = "Hello, World!";
System.out.println(ucapan.length());  // Output: 13
System.out.println(ucapan.toUpperCase());  // Output: HELLO, WORLD!

Kelas String adalah seperti rakit penyelamat untuk manipulasi teks.

Kelas ArrayList

import java.util.ArrayList;

ArrayList<String> buah = new ArrayList<>();
buah.add("Apel");
buah.add("Pisang");
buah.add("Ceri");
System.out.println(buah);  // Output: [Apel, Pisang, Ceri]

ArrayList adalah seperti rakit penyihir yang boleh diperluas. Ia tumbuh dan kempis saat anda menambah atau membuang unsur.

Pengendalian Fail Java

Pengendalian fail di Java membolehkan anda untuk bekerja dengan fail di atas komputer anda. Ia adalah seperti menjadi pustakawan untuk data anda!

import java.io.FileWriter;
import java.io.IOException;

public class ContohPenulisanFail {
public static void main(String[] args) {
try {
FileWriter penulis = new FileWriter("output.txt");
penulis.write("Hello, Fail!");
penulis.close();
System.out.println("Berjaya untuk menulis ke fail.");
} catch (IOException e) {
System.out.println("Ralat berlaku.");
e.printStackTrace();
}
}
}

Kod ini mencipta satu fail baru yang dipanggil "output.txt" dan menulis "Hello, Fail!" kepadanya. Ia adalah seperti meninggalkan satu nota untuk diri anda di masa depan!

Dalam kesimpulan, pemahaman perbezaan antara JDK, JRE, dan JVM adalah penting bagi mana-mana pemaju Java. Mereka membentuk dasar atas mana anda akan membina keterampilan pengaturcaraan Java anda. Ingat, JDK adalah bengkel anda, JRE adalah ruang pameran anda, dan JVM adalah enjin yang menggerakkan semuanya. Happy coding, dan may your Java journey be filled with fun and learning!

Credits: Image by storyset