Keserasian Java 8 Bytecode dengan Java 7 JVM
Java 8 telah memperkenalkan pelbagai ciri bahasa yang menarik, termasuk ungkapan lambda. Walau bagaimanapun, ini menimbulkan persoalan: bolehkah kod Java 8 wujud bersama secara harmoni dengan mesin maya Java 7?
Jawapan: Tidak
Malangnya, percubaan untuk menyusun Java 8 kod sumber yang menyasarkan mesin maya Java 7 akan dipenuhi dengan rintangan. Pengkompil akan menolak secara mutlak, seperti yang ditunjukkan oleh percubaan kompilasi yang gagal berikut:
$ javac Test -source 1.8 -target 1.7 javac: source release 1.8 requires target release 1.8
Ketidakserasian ini berpunca daripada fakta bahawa Java 8 memperkenalkan perubahan ketara dalam struktur kod bait yang disusun. Perubahan ini tidak serasi dengan penterjemah Java 7, yang memerlukan kod Java 8 untuk dijalankan pada mesin maya yang menyokong format kod bait yang dipertingkatkan.
Oleh itu, jika anda ingin menyelidiki keajaiban ciri Java 8, kod anda perjalanan mesti bermula pada mesin maya Java 8 yang serasi.
Atas ialah kandungan terperinci Bolehkah Kod Java 8 Berjalan pada Mesin Maya Java 7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!