Pada bulan September, Oracle merilis Java SE 9 dengan lebih dari 150 fitur baru. Versi terbaru dari bahasa pemrograman yang banyak digunakan hadir dengan beberapa fitur dan API baru untuk mempercepat pengembangan aplikasi baik untuk perangkat besar maupun kecil. Pada saat yang sama, fitur yang disediakan oleh Java 9 membantu pemrogram untuk meningkatkan kinerja, keamanan, dan pemeliharaan aplikasi. Oleh karena itu, penting bagi pemrogram 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 menentukan saling ketergantungan dari berbagai modul melalui pernyataan yang diperlukan. Modularitas memudahkan pemrogram untuk menjalankan modul JVM dengan lancar pada perangkat kecil yang tidak memiliki 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 kelemahan utama kompilasi just-in-time (JIT). Tidak seperti kompilasi JIT, kompilasi AOT memastikan bahwa tidak ada metode Java yang tidak dikompilasi.
Alat Real-Eval-Print-Loop
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 yang lebih baik untuk HTML5 dan JavaScript
Alat dokumentasi Javadoc yang ditingkatkan yang disediakan oleh Java 9 memiliki kemampuan untuk menghasilkan markup HTML5. Juga, 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 di aplikasi Java. Pengembang selanjutnya dapat mengaktifkan analisis kode ECMAScript di berbagai IDE dan kerangka kerja secara langsung dengan API parser untuk pohon sintaks 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 untuk 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 gambar multi-resolusi tunggal dengan mengenkapsulasi banyak gambar dengan berbagai resolusi. 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 API tunggal untuk membuat gambar multi-resolusi terpadu dan mendapatkan varian gambar dengan resolusi spesifik.
http://2 API klien
Java 9 benar-benar mengubah cara aplikasi melakukan panggilan HTTP. Ini menggantikan API HttpURLConnection dengan API klien HTTP baru. API klien HTTP mendukung keduanya http://2 dan WebSocket. Namun, API saat ini bukan merupakan bagian dari Java SE. Ini diimplementasikan sebagai modul inkubator yang hidup di bawah namespace jdk.incubtor. Tetapi API klien HTTP mendukung standar komunikasi terbaru, sekaligus mengatasi kekurangan API HttpURLConnection.
Stack-Walking API
Saat menulis kode Java, programmer mencari cara untuk mengakses dan memfilter stack trance secara efisien. Versi terbaru Java menyederhanakan stack walking dengan menyediakan Stack-Walking API. API baru memudahkan pemrogram untuk mengakses dan memfilter informasi pelacakan tumpukan. Lebih lanjut mendukung jalan pendek dan panjang. Oleh karena itu, menjadi lebih mudah bagi pemrogram untuk mengakses dan memfilter seluruh tumpukan tanpa bergantung pada mesin virtual untuk menangkap informasi tumpukan.
Datagram Transport Layer Security (DTLS) API
Java 9 membantu pengembang membangun aplikasi yang aman dengan menyediakan API untuk Datagram Transport Layer Security (DTLS). API menjaga keamanan komunikasi klien dan server dengan menghilangkan kemungkinan gangguan data, pemalsuan pesan, dan penyadapan. Selain itu, menyediakan privasi komunikasi ke berbagai aplikasi yang menggunakan Datagram Transport Protocol (DTP). Meskipun dikembangkan berdasarkan Transport Layer Security (TLS), DTLS mengimplementasikan protokol SSL.
API Proses yang Ditingkatkan
Seringkali pemrogram Java merasa sulit untuk mengontrol dan mengelola proses sistem operasi. Process API disediakan oleh pengembang versi sebelumnya untuk mengakses kode asli dan menulis kode tambahan. Tetapi API Proses yang ditingkatkan yang disediakan oleh Java 9 memudahkan pemrogram untuk mengontrol dan mengelola 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 Berlaku Lagi
Meskipun menyediakan beberapa fitur baru, Java 9 tidak mendukung beberapa fitur yang disediakan oleh Java 8. Misalnya, 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 kekurangan opsi untuk menerima peringatan Java pada pernyataan impor dan memilih JRE pada waktu peluncuran.
Secara keseluruhan, Java 9 hadir dengan beberapa fitur baru untuk mempermudah pengembangan aplikasi baik untuk perangkat besar maupun kecil. Namun, beberapa binari dan sumber yang diperkenalkan oleh Java 9 tidak kompatibel dengan versi bahasa pemrograman sebelumnya. Pemrogram bahkan harus membuat beberapa perubahan pada kode dan memutakhirkan pustaka sambil memigrasikan aplikasi yang ada ke Java 9. Tetapi pengembang harus mempertimbangkan untuk memutakhirkan aplikasi mereka yang ada ke Java 9 untuk memanfaatkan fitur dan peningkatan baru ini. Pengembang Java juga harus menggunakan alat yang sangat direkomendasikan ini untuk pemrograman yang lebih baik.