Java Academy · Pelajaran

Apakah GraalVM

VM poliglot berprestasi tinggi

Pelajaran 1 daripada 413 langkah

Apakah GraalVM ialah pelajaran Java Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Java Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Apakah GraalVM

GraalVM ialah edaran JDK berprestasi tinggi yang dibina berasaskan pengkompil tepat pada masanya moden bernama Graal. Ia menjalankan Java biasa dengan lebih pantas dalam banyak beban kerja dan menambah dua keupayaan utama: pelaksanaan polibahasa dan kompilasi natif lebih awal.

JDK yang Boleh Diganti Terus

GraalVM ialah JDK lengkap. javac, java dan baitkod sedia ada anda semuanya berfungsi tanpa perubahan. Perbezaannya ialah pengkompil di bawahnya 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"));
    }
}

Pengkompil Graal

Pengkompil Graal yang tepat pada masanya ditulis dalam Java sendiri. Ia melakukan pengoptimuman agresif seperti penyisipan sebaris lanjutan, analisis pelepasan separa dan pengoptimuman spekulatif, dan sering mengatasi pengkompil C2 tradisional untuk kod yang banyak menggunakan abstraksi dan peruntukan.

Polibahasa dengan Truffle

GraalVM menyertakan rangka kerja Truffle, yang membolehkan pelbagai bahasa berjalan pada VM yang sama dan malah saling memanggil. Pelaksanaan tersedia untuk JavaScript, Python, Ruby, R dan WebAssembly. Nilai boleh merentasi sempadan bahasa dengan overhed yang rendah.

Contoh Polibahasa (Konseptual)

Dengan API polibahasa, anda mencipta Context dan menilai kod dalam bahasa lain, kemudian membaca hasilnya kembali ke dalam Java. Kelas-kelas tersebut 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());
        }
    }
}

Imej Natif

Alat native-image mengkompil Java lebih awal menjadi fail boleh laku natif kendiri. Tiada JVM semasa masa jalan, tiada pemuatan kelas dan tiada pemanasan pengkompil tepat pada masanya — program bermula dalam beberapa milisaat.

Edisi

GraalVM hadir dalam Edisi Komuniti percuma dan edaran Oracle GraalVM dengan pengoptimuman tambahan. Kedua-duanya menyertakan native-image; untuk kebanyakan pembelajaran dan banyak kegunaan pengeluaran, binaan komuniti sudah memadai.

Mengapa Ia Penting untuk Awan

Permulaan pantas dan penggunaan memori yang rendah menjadikan imej natif sesuai untuk fungsi tanpa pelayan, antara muka baris perintah dan bekas yang boleh diskalakan hingga sifar. Perkhidmatan Java natif boleh bermula sepantas perduaan Go yang setanding, sekali gus menghapuskan kelemahan JVM yang telah lama wujud.

Kompilasi Tepat pada Masanya berbanding AOT

Dua model pelaksanaan boleh wujud bersama:

  • Kompilasi tepat pada masanya (pengkompil Graal) melakukan pengoptimuman semasa masa jalan menggunakan pemprofilan langsung — memberikan daya pemprosesan puncak terbaik untuk pelayan yang berjalan lama.
  • AOT (native-image) melakukan kompilasi sebelum program berjalan — memberikan permulaan dan penggunaan memori terbaik.

Sokongan Rangka Kerja

Rangka kerja moden seperti Spring Boot, Quarkus dan Micronaut menyediakan sokongan kelas pertama untuk native-image. Rangka kerja ini mengira konfigurasi terlebih dahulu pada masa binaan supaya aplikasi anda dapat dikompil dengan bersih menjadi perduaan natif.

Memilih GraalVM

Pilih GraalVM apabila anda mahukan daya pemprosesan kompilasi tepat pada masanya yang lebih pantas untuk kod yang banyak menggunakan abstraksi, memerlukan kesalingkendalian polibahasa atau mahukan fail boleh laku natif untuk penggunaan yang bermula pantas dan menggunakan sedikit memori. GraalVM ialah superset JDK standard, jadi penggunaannya berisiko rendah.

Semakan Ringkas

Uji pemahaman anda tentang GraalVM.

Ringkasan

Anda telah mengenali GraalVM:

  • JDK lengkap yang dibina berasaskan pengkompil Graal yang berprestasi tinggi dan tepat pada masanya.
  • Truffle membolehkan pelaksanaan polibahasa dan panggilan merentas bahasa.
  • native-image mengkompil Java lebih awal menjadi fail boleh laku natif.
  • Kompilasi tepat pada masanya mengutamakan daya pemprosesan untuk proses yang berjalan lama; AOT mengutamakan permulaan dan memori.
  • Rangka kerja seperti Spring Boot, Quarkus dan Micronaut menyokong binaan natif.
Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
104
Pelajaran
374

Soalan Lazim

Adakah pelajaran “Apakah GraalVM” percuma?

Ya — teks penuh “Apakah GraalVM” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Java Academy, tingkat taraf kepada CoddyKit PRO. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Apakah GraalVM”?

VM poliglot berprestasi tinggi Anda berlatih Java Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Java Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Java Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Apakah GraalVM” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Apakah GraalVM
  2. Membina Imej Natif
  3. Refleksi dan Konfigurasi
  4. Pertukaran Imej Natif
← Kembali ke Java Academy