Apa Itu GraalVM
VM poliglot berperforma tinggi.
Apa Itu GraalVM adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.
Apa Itu GraalVM
GraalVM adalah distribusi JDK berperforma tinggi yang dibangun di atas kompilator tepat waktu modern bernama Graal. GraalVM menjalankan Java biasa dengan lebih cepat pada banyak beban kerja dan menambahkan dua kemampuan utama: eksekusi poliglot serta kompilasi native sebelum waktu eksekusi.
JDK Pengganti Langsung
GraalVM adalah JDK lengkap. javac, java, dan kode bita yang sudah Anda miliki semuanya tetap berfungsi tanpa perubahan. Perbedaannya terletak pada kompilator yang digunakan serta alat tambahan yang disertakan, seperti native-image.
public class Main {
public static void main(String[] args) {
System.out.println("Runs the same on GraalVM as on any JDK");
System.out.println("Java: " + System.getProperty("java.version"));
}
}Kompilator Graal
JIT Graal ditulis dalam Java itu sendiri. Kompilator ini melakukan optimasi agresif seperti penyisipan tingkat lanjut, analisis pelepasan sebagian, dan optimasi spekulatif, serta sering mengungguli kompilator C2 tradisional pada kode yang sangat abstrak dan banyak melakukan alokasi.
Poliglot dengan Truffle
GraalVM menyertakan kerangka kerja Truffle, yang memungkinkan berbagai bahasa berjalan pada VM yang sama dan bahkan saling memanggil. Implementasinya tersedia untuk JavaScript, Python, Ruby, R, dan WebAssembly. Nilai dapat melintasi batas bahasa dengan biaya tambahan yang rendah.
Contoh Poliglot (Konseptual)
Dengan API poliglot, Anda membuat sebuah Context dan mengevaluasi kode dalam bahasa lain, lalu membaca hasilnya kembali ke Java. Kelas-kelasnya berada dalam org.graalvm.polyglot.
// Requires GraalVM polyglot runtime
import org.graalvm.polyglot.*;
public class Main {
public static void main(String[] args) {
try (Context ctx = Context.create()) {
Value sum = ctx.eval("js", "40 + 2");
System.out.println(sum.asInt());
}
}
}Citra Mandiri
Alat native-image mengompilasi Java sebelum waktu eksekusi menjadi program biner mandiri. Tidak ada JVM saat berjalan, tidak ada pemuatan kelas atau pemanasan kompilasi tepat waktu — program dimulai dalam hitungan milidetik.
Edisi
GraalVM tersedia dalam Edisi Komunitas gratis dan distribusi Oracle GraalVM dengan optimasi tambahan. Keduanya menyertakan native-image; untuk sebagian besar pembelajaran dan banyak penggunaan produksi, versi komunitas sudah memadai.
Mengapa Penting untuk Komputasi Awan
Waktu mulai yang cepat dan penggunaan memori yang rendah membuat citra mandiri ideal untuk fungsi tanpa server, antarmuka baris perintah, dan wadah yang dapat diskalakan hingga tidak berjalan sama sekali. Layanan Java mandiri dapat dimulai secepat program biner Go yang sebanding, sehingga menghilangkan kelemahan JVM yang telah lama ada.
Kompilasi Saat Berjalan vs AOT
Dua model eksekusi dapat digunakan bersama:
- Kompilasi saat berjalan (kompilator Graal) melakukan optimasi saat program berjalan menggunakan pembuatan profil langsung — paling baik untuk laju pemrosesan puncak pada server yang berjalan lama.
- AOT (native-image) mengompilasi sebelum dijalankan — paling baik untuk waktu mulai dan penggunaan memori.
Dukungan Kerangka Kerja
Kerangka kerja modern seperti Spring Boot, Quarkus, dan Micronaut menyediakan dukungan utama untuk native-image. Kerangka kerja tersebut menghitung konfigurasi terlebih dahulu saat waktu pembuatan sehingga aplikasi Anda dapat dikompilasi dengan bersih menjadi biner mandiri.
Memilih GraalVM
Gunakan GraalVM jika Anda menginginkan laju pemrosesan kompilasi saat berjalan yang lebih tinggi pada kode yang banyak menggunakan abstraksi, memerlukan interoperabilitas poliglot, atau menginginkan program biner mandiri untuk penerapan yang cepat dimulai dan hemat memori. GraalVM merupakan superset dari JDK standar, sehingga penerapannya berisiko rendah.
Pemeriksaan Singkat
Uji pemahaman Anda tentang GraalVM.
Rangkuman
Anda telah mengenal GraalVM:
- JDK lengkap yang dibangun di atas kompilator Graal saat berjalan berperforma tinggi.
- Truffle memungkinkan eksekusi poliglot dan pemanggilan lintas bahasa.
- native-image mengompilasi Java sebelum waktu eksekusi menjadi program biner mandiri.
- Kompilasi saat berjalan mengutamakan laju pemrosesan untuk proses yang berjalan lama; AOT mengutamakan waktu mulai dan memori.
- Kerangka kerja seperti Spring Boot, Quarkus, dan Micronaut mendukung pembuatan biner mandiri.
Belajar Java dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 104
- Pelajaran
- 374
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Apa Itu GraalVM” gratis?
Ya — teks lengkap “Apa Itu GraalVM” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Apa Itu GraalVM”?
VM poliglot berperforma tinggi. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Apa Itu GraalVM” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.