Java8 vs Java9

Java8 Vs Java9



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

Banyak pembangun akan beralih ke Java untuk membuat aplikasi. Seperti yang kita semua ketahui, Java sangat serba boleh, mudah digunakan, selamat, boleh dipercayai dan yang paling penting, ia bebas platform. Java mempunyai pengikut lebih daripada 6.5 juta pemaju di seluruh dunia. Oleh itu, bahasa ini sesuai digunakan kerana bahan rujukan juga banyak.

Walaupun begitu, Java terus berkembang dan berkembang selama bertahun-tahun. Dicipta oleh Sun Microsystems pada tahun 1995 , Java terus membuktikan kebolehpercayaannya. Pembuatan Java sebelumnya yang telah digunakan sejak 18 Maret 2014, adalah Java SE 8. Ketika diluncurkan, para pengkritik mengatakan itu adalah karya seni, pelepasan aliran perubahan dalam API. Sekarang ada anak baru di blok itu. Java 9 yang baru dicincang akhirnya tiba di sini. Dilancarkan pada 21 September 2017 , Java SE 9 diharapkan dapat mengubah cara kita melakukan sesuatu dan cara pembangun membuat aplikasi.







Oleh kerana kelincahan dan fleksibiliti Java 8 yang luar biasa, perniagaan mencipta penyelesaian luar biasa untuk industri seperti penjagaan kesihatan, fintech, dan sektor utama lain. Java 9, di sisi lain, berjanji untuk membangunnya dan memberikan fungsi baru sepenuhnya kepada pemaju.



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



Jigsaw Projek

Ini adalah salah satu sorotan Java 9. Pada dasarnya, jigsaw projek adalah nama yang diberikan modularisasi Jawa. Oleh kerana kepingan jigsaw bersatu demi satu untuk membuat satu gambar yang lebih besar, begitu juga modulariti Java 9. Ini bermaksud bahawa kod itu dipecah menjadi beberapa bahagian (modul) kerana tugas atau fungsi yang harus dilaksanakan. Ini merupakan langkah maju yang besar kerana modularisasi bukan sahaja menjadikan penggunaan semula kod menjadi lebih selesa, tetapi juga pengurusan dan penyahpepijatan adalah mudah. Oleh kerana itu, kami mendapati bahawa pembangun akan mempunyai masa yang lebih mudah untuk membuat aplikasi dengan Java 9 daripada dengan build sebelumnya yang lain.





Manfaat lain dari modularisasi adalah bahawa pembangun kini dapat membuat aplikasi ringan dan berskala. Terutama dengan Internet of Things yang terus berkembang, kita akan menemui lebih banyak aplikasi seperti itu yang ditulis di Java.

JEP 222: jshell : Shell Jawa

Java 9 menampilkan alat baca-eval-print loop (REPL) baru. Setelah berada dalam fasa perkembangannya di bawah Projek Betul ciri ini akhirnya telah dilancarkan kepada umum. Ciri baru ini adalah alat interaktif yang digunakan untuk menguji ekspresi, pernyataan, dan deklarasi yang ditulis di Java. Matlamat utama API dan alat JShell adalah memberi peluang kepada pengembang untuk menguji ciri-ciri yang disebutkan di atas dalam keadaan shell. Ini terutama pengkodan dan penyiasatan yang cepat, di mana ungkapan dan pernyataan tidak perlu berada dalam kaedah dan kaedah pada gilirannya, tidak harus berada di dalam kelas. Dengan cara ini, pembangun dapat menganalisis potongan kod dengan cepat dan melihat apakah ia akan membawa kesan yang diinginkan.



Alat jshell akan mempunyai antara muka baris perintah dengan ciri-ciri berikut:

  • Definisi dan import yang telah ditetapkan.
  • Sejarah dengan kemampuan penyuntingan
  • Penambahan titik koma terminal yang diperlukan secara automatik

Penambahbaikan penyusun

Untuk memastikan aplikasi berjalan dengan lebih cepat, Java 9 telah menggunakan teknologi baru yang disebut kompilasi yang lebih awal (AoT). Teknologi ini walaupun dalam fasa percubaannya, memungkinkan kelas Java dikompilasi menjadi kod asli bahkan sebelum dilancarkan di mesin maya. Kemungkinan perkara ini tidak berkesudahan. Walau bagaimanapun, penggunaan teknologi ini yang lebih cepat adalah meningkatkan masa permulaan untuk aplikasi besar dan kecil tanpa sebarang penghalang dalam prestasi puncak.

Dalam retrospeksi, Java 8 menggunakan penyusun Just-in-time (JIT). Penyusun ini cepat tetapi memerlukan sedikit masa sebelum memanaskan badan. Itu mungkin tidak penting untuk program atau aplikasi yang lebih kecil kerana tidak ada banyak kod untuk disusun. Namun, untuk aplikasi yang lebih besar, naratifnya agak berbeza. Memanaskan keperluan penyusun tepat waktu, bermaksud beberapa kaedah tidak disusun sehingga melemahkan prestasi aplikasi.

Fasa kedua dalam penggunaan kompilasi pintar adalah peningkatan keupayaan dan kestabilan alat Javac. Meningkatkan alat ini membolehkannya digunakan secara langsung di JVM (Java Virtual Machine) sebagai tetapan lalai. Selain itu, alat ini telah digeneralisasikan sedemikian rupa sehingga memungkinkan pemaju menggunakannya walaupun di luar lingkungan JDK. Bagi pemaju ini adalah masalah besar kerana Java dapat digunakan dalam projek yang lebih besar yang dapat ditampung dengan mudah tanpa perlu risau tentang keserasian. Kemas kini penting lain adalah keserasian pengkompil Javac yang fungsinya adalah menyusun aplikasi dan program yang dibuat menggunakan Java 9 untuk dijalankan pada versi Java yang lebih lama.

Penyokong JavaScript yang lebih baik

Oleh kerana JavaScript terus mendapat momentum dan menjadi kegemaran bagi banyak orang, JDK 9 telah memungkinkan untuk menanamkan JavaScript di aplikasi Java. Semua ini dilakukan dengan bantuan Badak projek yang tujuan utamanya adalah untuk mencipta masa berjalan JavaScript yang berprestasi tinggi namun ringan di Java. Ini tentu saja disampaikan ketika mereka menyediakan mesin JavaScript dalam JDK versi 8. Sekarang dalam versi 9, ada API penghurai yang sasarannya adalah urutan sintaks ECMAScript Nashorn. Apa yang dilakukan oleh API ini adalah untuk membolehkan analisis kod ECMAScript oleh kerangka sisi pelayan dan IDE tanpa harus bergantung pada kelas pelaksanaan dalaman Project Nashorn.

G1 sebagai pengutip sampah

Bertentangan dengan kepercayaan popular, Java tidak memiliki satu, tetapi empat pengumpul sampah. Pengutip sampah ini tidak dibuat sama dan dengan demikian, memilih yang salah bermaksud mempunyai masalah prestasi dalam aplikasi. Di Java 8, pengumpul sampah lalai adalah Pemungut Paralel / Throughput. Pengutip sampah ini telah digantikan oleh pendahulunya Pemungut sampah pertama (G1). Oleh kerana pengumpul G1 dirancang untuk menyokong timbunan lebih besar daripada 4GB dengan cekap, ia adalah pengumpul sampah yang sempurna untuk aplikasi berskala kecil dan besar.

Kemas kini API

Dalam kit pengembangan Java versi baru ini, beberapa kemas kini telah dibuat untuk API dan kami akan membincangkan yang paling terkenal.

Yang pertama adalah kemas kini serentak Java 9 yang mempunyai Java.util.concurrent.Flow dan CompletableFuture. Bertujuan untuk menyelesaikan masalah tekanan belakang. Flow adalah pelaksanaan Java dari API Aliran Reaktif yang pada dasarnya bertujuan untuk menyelesaikan masalah tekanan belakang. Tekanan belakang adalah penumpukan data yang terjadi ketika laju permintaan masuk lebih besar daripada kemampuan pemprosesan aplikasi. Dalam jangka masa panjang, ini menjadi masalah kerana aplikasi berakhir dengan penyangga data yang belum diproses. Kemas kini ini bermaksud pengendalian waktu tamat, kelewatan dan subkelas yang lebih baik.

Keselamatan adalah sebahagian daripada identiti utama Java. Oleh itu, sokongan untuk yang baru diluluskan HTTP 2.0 RFC adalah nilai tambah yang besar. HTTP 2.0 RFC dibina di atas Algoritma SPDY Google yang sudah mula berbuah dengan peningkatan kelajuan antara 11.81% hingga 47.7% dari HTTP 1.1 sebelumnya. API klien ini adalah peningkatan kepada protokol HTTP teras dan HttpURLConnection API yang bermasalah, paling tidak kerana ia dibuat sebelum HTTP 1.

Code caching selalu menjadi strategi yang digunakan untuk menjadikan aplikasi lebih cepat dan lancar selama bertahun-tahun. Walau bagaimanapun, ia tidak tanpa batasannya, dan ini tidak disedari. Kemas kini di Java 9 jelas menunjukkan JDK 9 membahagikan kod cache ke bahagian yang lebih kecil sehingga meningkatkan prestasi keseluruhan. JDK 9 menggunakan iterator khas untuk melangkau kod bukan kaedah; untuk memisahkan kod berprofil, tidak berprofil dan bukan kaedah; dan meningkatkan beberapa penanda aras untuk masa pelaksanaan.

Kebaikan Java 9

Bagi banyak pemilik perniagaan, tidak ada perbezaan antara Java 8 dan 9. Namun, bagi pemaju, ada dunia yang berbeza. Inilah kelebihan yang dimiliki Java SE 9 berbanding pendahulunya.

  • Kelajuan pengembangan akan meningkat dengan ketara berkat sistem modul yang bukan sahaja lebih mudah dikendalikan dan debug, tetapi juga dapat digunakan semula yang bermaksud anda tidak perlu menulis keseluruhan kod dari awal.
  • Meningkatkan keberkesanan sumber untuk aplikasi dari modularisasi dan juga menjadikan penarikan sumber menjadi lebih mudah kerana pembangun hanya akan mengambil modul yang diperlukan dan bukannya keseluruhan JRE.
  • Analisis masa nyata coretan kod seperti penanda aras mikro digunakan untuk melihat prestasi sekeping kecil kod.

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-dan-9
https://dzone.com/articles/5-features-in-java-9-that-will-change-how-you-deve

Tutorial Eclipse Java