Pemungut Sampah Epsilon
Menurut JDK Enhancement Proposal (atau JEP) 318, Epsilon adalah pengumpul sampah overhead rendah (GC) yang bertujuan untuk menangani peruntukan memori tanpa melaksanakan mekanisme penambakan memori sebenar.
Tujuannya adalah untuk "menyediakan implementasi GC yang sepenuhnya pasif dengan batas peruntukan terikat dan overhead latensi terendah yang mungkin, dengan mengorbankan jejak memori dan throughput memori," nyatakan pemaju inti Java dalam proposal. "Pelaksanaan yang berjaya adalah perubahan kod terpencil, tidak menyentuh GC lain, dan membuat perubahan minimum di seluruh JVM yang lain."
Walaupun Java sudah menawarkan banyak pilihan implementasi GC yang sangat dapat dikonfigurasi, para pembangun percaya bahawa lebih mudah untuk mengekalkan pelaksanaan GC yang terpisah untuk menangani kes penggunaan tertentu, seperti pengujian prestasi, pengujian tekanan memori, pengujian antara muka VM, pekerjaan yang sangat pendek , peningkatan latensi penurunan terakhir, atau peningkatan throughput penurunan terakhir, daripada menumpuk pilihan konfigurasi lain pada pelaksanaan GC yang ada.
Sintaks Pembolehubah Tempatan untuk Parameter Lambda
Java 10 memperkenalkan Inferens Jenis Pembolehubah Tempatan untuk mengurangkan keterlambatan yang berkaitan dengan penulisan kod Java, dan Java 11 memperluasnya untuk memungkinkan var untuk digunakan ketika menyatakan parameter formal ekspresi lambda yang ditaip secara tersirat, seperti yang dinyatakan dalam JEP 323, berjudul Local-Variable Syntax for Lambda Parameters.
Oleh itu, bukannya menulis:
(var x, var y) -> x.proses (y)Anda hanya boleh menulis:
(x, y) -> x.proses (y)Keseragaman itu sendiri bukan satu-satunya faedah sintaks pemboleh ubah tempatan untuk parameter lambda. Manfaat lain adalah mustahil untuk menerapkan pengubah pada pemboleh ubah tempatan dan format lambda tanpa kehilangan singkat.
Pemalar Fail-Kelas Dinamik
JEP 309 memperluas format fail kelas Java untuk menyokong bentuk kumpulan tetap baru, CONSTANT_Dinamik, untuk mengurangkan kos dan gangguan dalam mewujudkan bentuk pemalar fail kelas yang baru. Sama seperti menghubungkan dipanggil panggil perwakilan laman web menghubungkan ke kaedah bootstrap, begitu juga dengan memuatkan a CONSTANT_Dinamik mewakilkan penciptaan ke kaedah bootstrap.
Menurut pemaju teras Java, bentuk kumpulan tetap baru akan menawarkan pilihan pereka bahasa dan pelaksana penyusun lebih luas untuk ekspresi dan prestasi. "Pemalar yang lebih kaya, lebih fleksibel, lebih banyak ketik menghilangkan geseran dari pengembangan protokol invokedynamic, yang seterusnya memudahkan pergerakan logik kompleks dari masa berjalan ke masa penghubung, meningkatkan prestasi program dan menyederhanakan logik penyusun."
Apa yang Tidak Akan Berjaya ke Java 11
Walaupun terdapat ciri-ciri yang dijelaskan di atas, Java 11 sebenarnya akan lebih langsing daripada Java 10 kerana akan kehilangan CORBA (Common Object Request Broker Architecture), modul Java EE, dan JavaFX, satu set pakej grafik dan media yang membolehkan pengembang merancang, buat, uji, debug, dan gunakan aplikasi klien kaya.
CORBA adalah standard terbuka untuk pengkomputeran heterogen, dan tidak digunakan lagi, bersama dengan modul Java EE, di Java SE 9. Versi mandiri modul Java EE masih akan tersedia dari laman web pihak ketiga, tetapi Oracle tidak perlu lagi mengekalkan dua implementasi yang terpisah: satu di Java SE dan yang lain di Java EE.