Rumah >Peranti teknologi >industri IT >JVMLS 2016: Rekap Sidang Kemuncak Bahasa Mesin Maya Java

JVMLS 2016: Rekap Sidang Kemuncak Bahasa Mesin Maya Java

William Shakespeare
William Shakespeareasal
2025-02-18 10:26:10522semak imbas

JVMLS 2016: A Recap of Java Virtual Machine Language Summit

2016 Java Virtual Machine Language Summit: Melihat ke masa depan JVM

Sidang Kemuncak Bahasa Mesin Maya Java 2016 (JVMLS) menyatukan pereka bahasa dan jurutera JVM untuk membincangkan perkembangan masa depan JVM dan kesannya terhadap bahasa Java. Sidang Kemuncak ini memberi tumpuan kepada isu -isu utama seperti Projek Jigsaw, Projek Valhalla dan Masa Depan Mesin Maya.

modular: projek jigsaw

Projek Jigsaw adalah ciri teras Java 9, yang memperkenalkan mekanisme modular untuk bahasa Java. Pemaju boleh membuat modul yang membolehkan konfigurasi yang boleh dipercayai, pembungkusan yang kuat, dan peningkatan skalabiliti, keselamatan dan prestasi. Java 9 akan membolehkan penciptaan modul (pada dasarnya pakej balang yang mengandungi struktur baru - deskriptor modul). Deskriptor modul menerangkan modul dengan menentukan nama modul, menyenaraikan modul yang diperlukan, dan mengeksport pakej. Pada masa runtime, modul hanya melihat hanya modul yang bergantung pada (kebolehbacaan), dan hanya boleh mengakses jenis (kebolehcapaian) dalam modul lain apabila modul dibaca dan modul mengeksport pakej yang mengandungi jenis itu. Ini bermakna pengkompil dan JVM akhirnya meninggalkan corak bola lumpur besar yang menggabungkan semua kod dan kebergantungan bersama -sama, dan menggantikannya dengan peta sebenar lebih dekat dengan pemahaman kami tentang struktur perisian. Kedua -dua pengkompil dan JVM memahami graf ini, supaya modul yang hilang, pelbagai versi modul yang sama, atau pelbagai modul mengeksport pakej yang sama semasa penyusunan atau permulaan, mengelakkan kesilapan runtime atau kesilapan halus yang sukar untuk dikesan.

Jenis Nilai: Projek Valhalla

Projek Valhalla direka untuk memperkenalkan jenis nilai yang boleh diringkaskan sebagai jenis primitif yang ditentukan pengguna. Jenis nilai adalah sama seperti jenis primitif dan tidak menanggung overhead memori atau alamat tidak langsung. Titik tersuai yang mengandungi dua bidang INT X dan Y akan digariskan ke lokasi penggunaannya, yang hanya memerlukan memori yang diperlukan untuk dua INT, dan pelbagai mata adalah pada dasarnya adalah pelbagai pasangan x/y. Seperti jenis asal, titik tersebut tidak dikenalpasti - walaupun terdapat dua objek integer yang berbeza dengan nilai 5, tidak ada dua nilai int yang berbeza sebanyak 5. Seperti kelas, jenis nilai boleh mempunyai kaedah dan bidang dan melaksanakan antara muka. Oleh itu, slogannya adalah: "Pengekodan seperti kelas, bekerja seperti int". Ini akan menghalang kita daripada berdagang antara abstraksi pilihan dan prestasi yang diperlukan.

Walau bagaimanapun, projek itu dengan cepat menyimpang dari trek. Seperti yang kita semua tahu, generik tidak berfungsi dengan jenis primitif - ArrayList

tidak boleh dibuat. Ini sudah menyakitkan untuk lapan jenis primitif (lihat pengkhususan jenis primitif untuk perpustakaan seperti Stream atau Trove), tetapi ia menjadi tidak tertanggung apabila pemaju dapat menentukan lebih banyak jenis. Jika jenis nilai mesti dikunci untuk berinteraksi dengan generik (seperti jenis primitif hari ini), penggunaannya akan sangat terhad dan tidak akan dimulakan. Oleh itu, kita perlu menggunakan generik dengan jenis nilai -jenis -jenis juga boleh digunakan bersama -sama. Akhirnya, kita tidak hanya mahu memberi instantiate ArrayList

atau ArrayList , tetapi juga disokong oleh int [] atau titik [], masing -masing. Ini dipanggil pengkhususan, dan ia membuka teka -teki baru. Jika anda bernasib baik, beberapa atau bahkan semuanya akan dimasukkan ke dalam Java 10.

JVMLS 2016: A Recap of Java Virtual Machine Language Summit Masa Depan Mesin Maya

John Rose bercakap tentang beberapa arah yang menarik mesin maya ke masa depan:

Model Unified Objects, Nilai, Array, Kaedah, dan lain -lain

    terus meningkatkan prestasi, seperti meningkatkan kecekapan memori melalui peningkatan ketumpatan dan perkongsian, dan pengoptimuman berterusan laluan hotspot
  • kesesuaian halus menggunakan serat yang melampaui benang sebagai abstraksi teras
  • menjadi lebih berguna, serasi dan saling beroperasi - untuk bahasa yang berjalan di atasnya dan bahasa ibunda, dengan itu merapatkan jurang di antara mereka
  • timbunan disusun, di mana timbunan memegang kelas dan kaedah sebagai objek sebenar, bukan hanya sebagai rentetan, dan konteks penuh setiap bingkai (pembolehubah tempatan, monitor, dll) dapat dilihat dan menjalankan program dapat mengedit timbunan
  • Banyak kandungan di luar pemahaman saya, tetapi mendengar ucapannya masih banyak mendapat manfaat, walaupun ia hanya merasakan semangatnya.
Selaras dengan semangat Outlook Rose adalah Projek Panama (dibincangkan oleh Mikel Vidstedt dan Tobi Ajila dalam "Going Native"), yang mana Ian Graves menambah dengan "Java Vector API". Demonstrasi Christian Wimmer tentang "satu pengkompil" juga bertujuan untuk merapatkan jurang.

Ringkasan

JVM adalah alat yang berkuasa yang banyak orang pintar bekerja untuk menjadikannya lebih kuat semasa mengawal kerumitannya.

FAQs Mengenai Sidang Kemuncak Bahasa JVM 2016

(Bahagian ini adalah sama dengan teks asal, ditinggalkan)

Atas ialah kandungan terperinci JVMLS 2016: Rekap Sidang Kemuncak Bahasa Mesin Maya Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn