Pada bulan September, Oracle merilis Java SE 9 dengan lebih dari 150 fitur baru. Versi terbaru dari bahasa pemrograman yang banyak digunakan ini hadir dengan beberapa fitur dan API baru untuk mempercepat pengembangan aplikasi baik untuk perangkat besar maupun kecil. Pada saat yang sama, fitur-fitur yang disediakan oleh Java 9 membantu pemrogram untuk meningkatkan kinerja, keamanan, dan pemeliharaan aplikasi. Oleh karena itu, penting bagi programmer untuk memahami beberapa fitur utama yang disediakan oleh Java 9.
Apa yang Perlu Diketahui Pemrogram tentang Java 9?
Sistem Modul
Pengembang sekarang dapat menggunakan Dukungan Lebih Baik untuk HTML5 dan JavaScript untuk membagi JDK menjadi beberapa modul. Setiap file JAR modular berisi deskriptor modul. Pengembang dapat mendefinisikan saling ketergantungan berbagai modul melalui pernyataan require. Modularitas memudahkan pemrogram untuk menjalankan modul JVM dengan lancar pada perangkat kecil yang kekurangan memori tambahan. Pada saat yang sama, mereka juga hanya dapat menjalankan modul API dan JVM yang diperlukan oleh aplikasi.
Kompilasi Sebelumnya
Java 9 meningkatkan proses kompilasi kode secara signifikan melalui kompilasi sebelumnya (AOT). Pemrogram dapat memanfaatkan kompilasi AOT, mengkompilasi kelas Java ke dalam kode asli bahkan sebelum mesin virtual meluncurkannya. Kompilasi AOT meningkatkan kinerja aplikasi besar dan kecil dengan mengatasi kekurangan utama kompilasi just-in-time (JIT). Tidak seperti kompilasi JIT, kompilasi AOT memastikan tidak ada metode Java yang belum dikompilasi.
Alat Perulangan Cetak-Eval Nyata
Java 9 hadir dengan alat baris perintah real-eval-print-loop (REPL) baru – Shell. Shell dirancang dengan fitur untuk mengevaluasi pernyataan dan ekspresi deklaratif secara interaktif. Seorang programmer dapat menggunakan Shell untuk menilai kualitas kode Java sebelum dikompilasi. Dia cukup memasukkan sepotong kode dan mengumpulkan umpan balik. Shell bahkan memiliki kemampuan untuk melengkapi tab dan menambahkan titik koma terminal yang diperlukan secara otomatis. Alat REPL baru membuat Java bersaing dengan bahasa pemrograman yang banyak digunakan seperti Python dan Scala.
Dukungan Lebih Baik untuk HTML5 dan JavaScript
Alat dokumentasi Javadoc yang ditingkatkan yang disediakan oleh Java 9 memiliki kemampuan untuk menghasilkan markup HTML5. Selain itu, versi terbaru bahasa pemrograman mendukung beberapa karakter, blok, dan skrip baru sebagai bagian dari standar pengkodean Unicode 8.0. Pada saat yang sama, Java 9 hadir dengan mesin JavaScript yang ditingkatkan dan ringan yang memudahkan pemrogram untuk menyematkan kode JavaScript ke dalam aplikasi Java. Pengembang selanjutnya dapat mengaktifkan analisis kode ECMAScript di berbagai IDE dan kerangka kerja secara langsung dengan API parser untuk pohon sintaksis ECMAScript Nashorn yang disediakan oleh JDK.
API Aliran yang Ditingkatkan
Saat menulis kode Java, pemrogram menggunakan string untuk mengekspresikan perhitungan. Java 8 mempercepat pemrosesan aliran dengan menyediakan Streams API. Java 9 hadir dengan versi Streams API yang ditingkatkan yang memungkinkan pengembang mengambil dan melepaskan item dari Stream berdasarkan kondisi tertentu dengan menambahkan metode. Selain itu, Streams API yang ditingkatkan dirancang dengan fitur untuk membuat aliran untuk nilai nullable dan melakukan iterasi pada elemen Stream.
API Gambar Multi-Resolusi
Java 9 memperkenalkan antarmuka baru – MultiResolutionImage – untuk membuat satu gambar multi-resolusi dengan merangkum banyak gambar dengan resolusi berbeda-beda. Pengembang selanjutnya dapat menggunakan Multi-Resolution Image API yang disediakan oleh Java 9 untuk mendapatkan berbagai varian dari satu gambar. Selain itu, mereka dapat menggunakan API untuk memilih gambar tertentu berdasarkan resolusi yang diperlukan. Oleh karena itu, pemrogram Java sekarang dapat menggunakan satu API untuk membuat gambar multi-resolusi terpadu dan mendapatkan varian gambar dengan resolusi tertentu.
http://2 API klien
Java 9 sepenuhnya mengubah cara aplikasi melakukan panggilan HTTP. Ini menggantikan API HttpURLConnection dengan API klien HTTP baru. API klien HTTP mendukung keduanya http://2 dan WebSockets. Namun, API saat ini bukan bagian dari Java SE. Ini diimplementasikan sebagai modul inkubator yang berada di bawah namespace jdk.incubtor. Namun API klien HTTP mendukung standar komunikasi terbaru, sekaligus mengatasi kekurangan API HttpURLConnection.
API Berjalan Tumpukan
Saat menulis kode Java, pemrogram mencari cara untuk mengakses dan memfilter trance tumpukan secara efisien. Versi terbaru Java menyederhanakan stack walk dengan menyediakan Stack-Walking API. API baru memudahkan pemrogram untuk mengakses dan memfilter informasi pelacakan tumpukan. Ini lebih lanjut mendukung perjalanan pendek dan panjang. Oleh karena itu, pemrogram menjadi lebih mudah untuk mengakses dan memfilter seluruh tumpukan tanpa bergantung pada mesin virtual untuk menangkap informasi tumpukan.
API Keamanan Lapisan Transportasi Datagram (DTLS).
Java 9 membantu pengembang membangun aplikasi yang aman dengan menyediakan API untuk Datagram Transport Layer Security (DTLS). API menjaga komunikasi klien dan server tetap aman dengan menghilangkan kemungkinan gangguan data, pemalsuan pesan, dan penyadapan. Selain itu, ia memberikan privasi komunikasi ke berbagai aplikasi yang menggunakan Datagram Transport Protocol (DTP). Meski dikembangkan berdasarkan Transport Layer Security (TLS), DTLS mengimplementasikan protokol SSL.
API Proses yang Ditingkatkan
Seringkali pemrogram Java merasa kesulitan dalam mengontrol dan mengelola proses sistem operasi. API Proses yang disediakan oleh pengembang versi sebelumnya untuk mengakses kode asli dan menulis kode tambahan. Namun API Proses yang ditingkatkan yang disediakan oleh Java 9 memudahkan pemrogram untuk mengontrol dan mengatur proses sistem operasi. Mereka dapat menggunakan API untuk membuat aplikasi Java berinteraksi dengan sistem operasi secara langsung. Selain itu, mereka dapat memanfaatkan metode baru untuk menangani nama dan status proses tanpa menulis kode tambahan.
Fitur yang Tidak Digunakan Lagi
Meskipun menyediakan beberapa fitur baru, Java 9 tidak mendukung beberapa fitur yang disediakan oleh Java 8. Misalnya, Java 9 tidak lagi mendukung Applet API. Pengembang web Java harus beralih dari Applet API ke Java Web Start untuk meluncurkan aplikasi dari browser web. Demikian pula, Java 8 mempercepat pengembangan pengumpul sampah di mesin virtual HotSpot dengan menghentikan pengumpul sampah Concurrent Mark Sweep (CMS). Saat menggunakan Java versi terbaru, pemrogram juga tidak memiliki opsi untuk menerima peringatan Java pada pernyataan impor dan memilih JRE pada waktu peluncuran.
Secara keseluruhan, Java 9 hadir dengan beberapa fitur baru untuk menyederhanakan pengembangan aplikasi baik untuk perangkat besar maupun kecil. Namun, beberapa biner dan sumber yang diperkenalkan oleh Java 9 tidak kompatibel dengan versi bahasa pemrograman sebelumnya. Pemrogram bahkan harus membuat beberapa perubahan pada kode dan memutakhirkan perpustakaan saat memigrasikan aplikasi yang ada ke Java 9. Namun pengembang harus mempertimbangkan untuk memutakhirkan aplikasi mereka yang ada ke Java 9 untuk memanfaatkan fitur dan penyempurnaan baru ini. Pengembang Java juga harus menggunakan alat yang sangat direkomendasikan ini untuk pemrograman yang lebih baik.