Wonderlabs Blog

Fitur baru Java 9 – Perbaikan Compiler untuk Kode Java 9

Posted by Retha Christiani on Sep 26, 2017 5:32:18 AM

java9.jpg

Upgrade pada Java 9 memiliki beberapa kemampuan baru utnuk mengkompilasi kode, yang mana merupakan komponen utama dari Ahead-of-Time (AoT). Meski dalam tahap percobaan, kemampuan ini memungkinkan kompilasi Java Class menjadi kode asli sebelum diluncurkan di mesin virtual.  Fitur ini dimaksudkan untuk meningkatkan waktu startup dari kedua aplikasi besar dan kecil, dengan dampak terbatas pada kinerja maksimum.

Just-in-Time (JIT) compiler bekerja dengan cepat tetapi program Java telah menjadi besar sehingga membutuhkan waktu yang lama bagi JIT untuk “fully warm up”, membiarkan beberapa metode Java Uncompiled dan menurunkan kinerjanya. Ahead-of-Time compilation dimaksudkan untuk mengatasi masalah ini.

Dmitry Leskov, selaku direktur pemasaran di Java Technology vendor Excelsior, khawatir bahwa Ahead-of-Time Compilation ini tidak cukup matang dan telah menjadi keinginan Oracle menunggu sampai Java 10 untuk versi yang lebih solid.

Java 9 menawarkan tahap dua dari Oracle’s smart compilation deployment. Fitur ini melibatkan  stabilitas dan portabilitas “s javac tool’s” sehingga dapat digunakan pada JVM (Java Virtual Machine) secara default. Alat ini juga akan digeneralisasikan sehingga bisa digunakan untuk proyek besar di luar JDK. JDK 9 juga telah memperbarui compiler javac sehingga bisa mengkompilasi program Java 9 untuk dijalankan di beberapa versi Java yang lebih lama.

Fitur kompilasi baru tapi eksperimental lainnya adalah Java-level JVM Compiler Interface (JVMCI). Antarmuka ini memungkinkan compiler yang ditulis di Java digunakan sebagai compiler dinamis oleh JVM. API JVMCI menyediakan mekanisme untuk mengakses struktur VM, menginstal kode yang dikompilasi, dan memasukkannya ke dalam JVM compilation system.

Menulis JVM compiler di Java seharusnya memungkinkan compiler berkualitas tinggi yang lebih mudah dipelihara dan diperbaiki daripada compiler yang ada di C atau C++. Kemampuan compiler control yang baru dimaksudkan untuk menyediakan fine-grained dan kontrol method-context-dependent JVM compiler, membebaskan Developers mengbah opsi compiler control pada runtime tanpa degradasi kinerja. Ini bisa jadi solusi dari JVM compiler bug.

Inspired by: https://www.techworld.com.au
Image Sources: google image

Topics: Technology, knowledge