Java8 vs Java9

Java8 Vs Java9



Java 8 vs Java 9: ​​Peningkatan di Java 9 yang Perlu Anda Ketahui

Banyak pengembang akan beralih ke Java untuk membuat aplikasi. Seperti yang kita semua tahu, Java sangat serbaguna, mudah digunakan, aman, andal, dan yang terpenting, tidak bergantung pada platform. Java memiliki pengikut lebih dari 6,5 juta pengembang secara global. Dengan demikian, ini adalah bahasa yang sempurna untuk digunakan karena bahan referensi juga berlimpah.

Namun demikian, Jawa terus tumbuh dan berkembang selama bertahun-tahun. Dibuat oleh Sun Microsystems pada tahun 1995 , Java terus membuktikan keandalannya. Versi Java sebelumnya yang telah digunakan sejak 18 Maret 2014, adalah Java SE 8. Ketika diluncurkan, kritikus mengatakan itu adalah sebuah karya seni, rilis aliran perubahan dalam API. Sekarang ada anak baru di blok itu. Java 9 yang baru dicetak akhirnya ada di sini. Diluncurkan pada 21 September 2017 , Java SE 9 diharapkan dapat mengubah cara kita melakukan berbagai hal dan cara pengembang membuat aplikasi.







Karena kelincahan dan keserbagunaan Java 8 yang luar biasa, bisnis menciptakan solusi luar biasa untuk industri seperti perawatan kesehatan, fintech, dan sektor utama lainnya. Java 9, di sisi lain, berjanji untuk membangunnya dan memberikan fungsionalitas yang sama sekali baru kepada para pengembang.



Jadi, mari kita lihat apa yang baru di Java 9.



Proyek Jigsaw

Ini adalah salah satu highlights dari Java 9. Pada dasarnya, proyek jigsaw adalah nama yang diberikan untuk modularisasi dari Jawa. Ketika potongan-potongan jigsaw disatukan sepotong demi sepotong untuk membuat satu gambar yang lebih besar, begitu pula modularitas Java 9. Ini berarti bahwa kode dipecah menjadi beberapa bagian (modul) karena tugas atau fungsi yang harus dijalankan. Ini adalah langkah maju yang besar karena modularisasi tidak hanya membuat penggunaan kembali kode jauh lebih nyaman, tetapi juga mengelola dan men-debug menjadi mudah. Karena itu, kami menemukan bahwa pengembang akan lebih mudah membuat aplikasi dengan Java 9 dibandingkan dengan build sebelumnya.





Manfaat lain dari modularisasi adalah pengembang sekarang dapat membuat aplikasi yang ringan dan skalabel. Terutama dengan Internet of Things yang terus berkembang, kami akan menemukan lebih banyak aplikasi serupa yang ditulis dalam Java.

JEP 222: kulit : Kulit Jawa

Java 9 menampilkan alat read-eval-print loop (REPL) baru. Setelah berada dalam fase perkembangannya di bawah Hak Proyek fitur ini akhirnya dirilis ke publik. Fitur baru ini adalah alat interaktif yang digunakan untuk menguji ekspresi, pernyataan, dan deklarasi yang ditulis dalam Java. Tujuan utama dari API dan alat JShell adalah untuk memberikan kesempatan kepada pengembang untuk menguji fitur-fitur yang disebutkan di atas dalam keadaan shell. Ini terutama pengkodean dan penyelidikan cepat, di mana ekspresi dan pernyataan tidak perlu berada di dalam metode dan metode pada gilirannya, tidak harus berada di dalam kelas. Dengan cara ini pengembang dapat dengan cepat menganalisis potongan kode dan melihat apakah mereka akan membawa efek yang diinginkan.



Alat jshell akan memiliki antarmuka baris perintah dengan fitur berikut:

  • Definisi dan impor yang telah ditentukan sebelumnya yang dapat dikonfigurasi.
  • Sejarah dengan kemampuan mengedit
  • Penambahan otomatis titik koma terminal yang diperlukan

Perbaikan kompiler

Untuk memastikan aplikasi berjalan lebih cepat, Java 9 telah mendaftarkan teknologi baru yang disebut kompilasi sebelumnya (AoT). Teknologi ini meskipun dalam fase eksperimental, memungkinkan kelas Java untuk dikompilasi ke dalam kode asli bahkan sebelum diluncurkan di mesin virtual. Kemungkinan ini tidak terbatas. Namun, penggunaan teknologi ini lebih cepat meningkatkan waktu startup untuk aplikasi besar dan kecil tanpa hambatan dalam kinerja puncak.

Dalam retrospeksi, Java 8 menggunakan kompiler Just-in-time (JIT). Kompiler ini cepat tetapi membutuhkan sedikit lebih banyak waktu sebelum pemanasan. Itu mungkin tidak penting untuk program atau aplikasi yang lebih kecil karena tidak banyak kode untuk dikompilasi. Namun, untuk aplikasi yang lebih besar, narasinya sangat berbeda. Pemanasan yang dibutuhkan kompiler just-in-time, berarti beberapa metode tidak dikompilasi sehingga melemahkan kinerja aplikasi.

Fase kedua dalam penerapan kompilasi cerdas adalah peningkatan portabilitas dan stabilitas alat Javac. Meningkatkan alat ini memungkinkan untuk digunakan secara langsung di JVM (Java Virtual Machine) sebagai pengaturan default. Selain itu, alat ini telah digeneralisasi sedemikian rupa sehingga memungkinkan pengembang untuk menggunakannya bahkan di luar lingkungan JDK. Bagi pengembang ini adalah masalah besar karena Java dapat digunakan dalam proyek yang lebih besar yang dapat dengan mudah diakomodasi tanpa mengkhawatirkan kompatibilitas. Pembaruan penting lainnya adalah kompatibilitas mundur dari kompiler Javac yang satu-satunya fungsi adalah untuk mengkompilasi aplikasi dan program yang dibuat menggunakan Java 9 untuk juga berjalan pada versi Java yang lebih lama.

Dukungan JavaScript yang lebih baik

Karena JavaScript terus mendapatkan momentum dan menjadi favorit banyak orang, JDK 9 telah memungkinkan untuk menyematkan JavaScript di aplikasi Java. Semua ini dilakukan dengan bantuan Badak proyek yang tujuan utamanya adalah menciptakan runtime JavaScript dengan performa tinggi namun ringan di Java. Hal ini tentu saja disampaikan ketika mereka menyediakan mesin JavaScript di JDK versi 8. Sekarang di versi 9, ada API parser yang targetnya adalah urutan sintaks ECMAScript Nashorn. Apa yang dilakukan API ini adalah mengaktifkan analisis kode ECMAScript oleh kerangka kerja sisi server dan IDE tanpa harus bergantung pada kelas implementasi internal Project Nashorn.

G1 sebagai pemulung

Berlawanan dengan kepercayaan populer, Jawa tidak hanya memiliki satu, tetapi empat pemulung. Pengumpul sampah ini tidak diciptakan sama dan karena itu, memilih yang salah berarti memiliki masalah kinerja dalam aplikasi. Di Java 8, pengumpul sampah default adalah Kolektor Paralel / Throughput. Pengumpul sampah ini telah digantikan oleh pendahulunya Pengumpul Sampah Pertama (G1). Karena pengumpul G1 dirancang untuk mendukung tumpukan yang lebih besar dari 4GB secara efisien, pengumpul sampah ini sempurna untuk aplikasi skala kecil dan besar.

Pembaruan API

Dalam kit pengembangan Java versi baru ini, beberapa pembaruan telah dilakukan pada API dan kami akan membahas yang paling penting.

Yang pertama adalah pembaruan konkurensi Java 9 yang memiliki Java.util.concurrent.Flow dan CompletableFuture. Bertujuan untuk memecahkan masalah yang bersifat back-pressure. Flow adalah implementasi Java dari API Aliran Reaktif yang pada dasarnya bertujuan untuk mengatasi masalah backpressure. Tekanan balik adalah penumpukan data yang terjadi ketika tingkat permintaan masuk lebih besar dari kemampuan pemrosesan aplikasi. Dalam jangka panjang, ini menjadi masalah karena aplikasi berakhir dengan buffer data yang belum diproses. Pembaruan ini akan berarti penanganan batas waktu, penundaan, dan subkelas yang lebih baik.

Keamanan adalah bagian dari identitas inti Java. Dengan demikian, dukungan untuk yang baru disetujui HTTP 2.0 RFC adalah nilai tambah yang besar. HTTP 2.0 RFC dibangun di atas Algoritma SPDY Google yang sudah mulai membuahkan hasil dengan peningkatan kecepatan mulai dari 11,81% menjadi 47,7% dari HTTP 1.1 sebelumnya. API klien ini adalah peningkatan ke protokol HTTP inti dan API HttpURLConnection yang bermasalah, untuk sedikitnya sejak dibuat bahkan sebelum HTTP 1.

Caching kode selalu menjadi strategi yang digunakan untuk membuat aplikasi lebih cepat dan lancar selama bertahun-tahun. Namun, itu bukan tanpa batasan, dan ini tidak luput dari perhatian. Pembaruan di Java 9 dengan jelas menunjukkan JDK 9 membagi kode cache menjadi bagian-bagian yang lebih kecil sehingga meningkatkan kinerja secara keseluruhan. JDK 9 menggunakan iterator khusus untuk melewati kode non-metode; untuk memisahkan kode yang diprofilkan, tidak diprofilkan dan non-metode; dan meningkatkan beberapa tolok ukur untuk waktu eksekusi.

Manfaat Java 9

Bagi banyak pemilik bisnis, tidak ada perbedaan antara Java 8 dan 9. Namun, bagi pengembang, ada perbedaan dunia. Inilah keunggulan yang dimiliki Java SE 9 dibandingkan pendahulunya.

  • Kecepatan pengembangan akan meningkat secara signifikan berkat sistem modul yang tidak hanya lebih mudah untuk dikelola dan di-debug, tetapi juga dapat digunakan kembali yang berarti Anda tidak perlu menulis seluruh kode dari awal.
  • Meningkatkan efektivitas sumber daya untuk aplikasi dari modularisasi dan juga membuat penarikan sumber daya menjadi lebih sederhana karena pengembang hanya akan mengambil modul yang dibutuhkan daripada seluruh JRE.
  • Analisis cuplikan kode secara real-time seperti tolok ukur mikro digunakan untuk melihat kinerja potongan-potongan kecil kode.

Sumber

http://openjdk.java.net/jeps/251
https://www.romexsoft.com/blog/java-8-vs-java-9/
https://blogs.Oracle.com/java/features-in-java-8-and-9
https://dzone.com/articles/5-features-in-Java-9-that-will-change-how-you-deve

Tutorial Java Eclipse