Pengiriman mesej ialah kaedah penghantaran komunikasi antara item atau utas dan merupakan idea asas dalam sistem teragih dan pengaturcaraan selari. Bergantung pada keperluan khusus pelaksanaan, pemindahan mesej dalam Java boleh dicapai melalui pelbagai kaedah dan struktur
Gunakan bekas java.util.concurrent sumber kuasa, yang menyediakan satu siri antara muka dan perpustakaan kelas untuk mewujudkan dan mengendalikan urutan sebagai kunci aktif dan mekanisme penyegerakan Ia adalah satu kaedah dalam Java untuk melaksanakan penghantaran mesej, seperti contoh. Sebagai contoh, antara muka Pelaksana boleh digunakan serta-merta untuk melaksanakan tugas, manakala sambungan Baris Gilir Penyekatan boleh digunakan untuk menghantar kenyataan antara proses serentak.
Di atas ialah carta alir bagi keseluruhan proses penghantaran mesej di Jawa.
Antara muka pelaksana melambangkan komponen yang melaksanakan tugas muat naik secara bebas. Ia membolehkan anda memutuskan sambungan penghantaran tugasan daripada pelaksanaan tugas, yang berguna dalam situasi di mana tanggungjawab mungkin mengambil masa yang lama untuk diselesaikan atau di mana berbilang tugasan mesti dilakukan serentak. Antara muka Pelaksana mewujudkan satu kaedah dan memulakan pelaksanaan (Arahan Boleh Dijalankan), yang menerima sifat objek Boleh Dijalankan dan menjadualkan operasinya.
Antarmuka baris gilir menyekat sebelumnya mewakili susunan baris gilir yang akan disekat apabila mendapatkan semula komponen melalui senarai kosong atau memasukkan komponen ke dalam baris gilir sepenuhnya. Ini boleh memberi manfaat apabila rantai perlu berinteraksi antara satu sama lain dengan berkomunikasi. Antara muka Baris Beratur Penyekat termasuk teknik untuk menambah dan mendapatkan komponen pengumpulan, seperti put(E e), take(), dan poll().
Satu lagi cara untuk memindahkan mesej dalam Java ialah memanfaatkan struktur komunikasi termasuk Apache Kafka atau Rabbit MQ. Platform ini menyediakan fabrik komunikasi yang saling berkaitan yang membolehkan komunikasi ditukar secara serentak antara pelbagai nod dalam rangkaian. Biasanya, struktur komunikasi terdiri daripada pelbagai elemen, termasuk pengeluar, pengguna, ejen dan topik. Pengeluar bertanggungjawab untuk mencipta komunikasi, dan pelanggan bertanggungjawab untuk menggunakannya. Ejen bertindak sebagai perantara antara perniagaan dan pelanggan, dan soalan adalah lambang pelbagai jenis laporan yang dibuat dan digunakan.
Selain itu, Java menyokong teknologi invokasi jauh (RMI), yang membolehkan elemen dalam satu JVM untuk memanggil kaedah komponen dalam JVM yang berbeza. RMI ialah seni bina pelayan-pelanggan yang membenarkan perkara melepasi faktor sambil memberikan hasil kepada satu sama lain. RMI membolehkan objek yang dihasilkan Java berinteraksi antara satu sama lain melalui rangkaian, membolehkan perisian yang diedarkanPemesejan mempunyai pelbagai kelebihan dalam pengaturcaraan Java, menjadikannya alat yang berkesan untuk membangunkan aplikasi terdesentralisasi secara serentak. Faedah utama pemindahan mesej dalam Java termasuk -
Penyahgandingan - Pengangkutan mesej membolehkan elemen atau rentetan berkongsi maklumat antara satu sama lain tanpa mengetahui butiran pelaksanaan asas. Memandangkan pengubahsuaian kepada satu komponen rangka kerja jarang memerlukan pengubahsuaian pada komponen individu rangka kerja, penyahgandingan yang terhasil menjadikan program lebih disesuaikan dan lebih mudah untuk dikendalikan.
Concurrency - Penghantaran mesej membolehkan berbilang rangkaian atau proses berjalan serentak, sekali gus meningkatkan kecekapan dan kebolehskalaan penggunaan. Pemesejan membolehkan aplikasi menggunakan sumber sistem dengan lebih baik dengan menyelaraskan operasi antara urutan atau proses individu tanpa memerlukan teknik keselamatan atau penyegerakan yang jelas
Toleransi Kesalahan - Pemesejan boleh membantu meningkatkan toleransi kesalahan sistem dengan menyediakan cara untuk mengenal pasti dan memulihkan daripada ralat. Sebagai contoh, jika komunikasi gagal mencapai penerima yang dimaksudkan, sistem komputer boleh menghantarnya semula atau mengambil langkah tambahan untuk membaikinya.
Skalabiliti - Pemesejan boleh meningkatkan kebolehsuaian penggunaan dengan membolehkannya dilaksanakan pada berbilang nod dalam sistem teragih. Perisian ini boleh mengendalikan lebih banyak maklumat atau permintaan daripada pelanggan sambil mengelak daripada membebankan setiap nod dengan berkongsi beban kerja di kalangan mereka.
Saling kendali - Pemesejan mampu mengoptimumkan penggunaan saling kendali dengan membolehkannya berinteraksi dengan struktur yang menggunakan pelbagai bahasa atau struktur pengekodan. Program ini boleh berkongsi maklumat dengan sistem yang berbeza dengan cara yang mudah dan terbuka dengan menggunakan format mesej dan proses piawai.
Overhead - Pemesejan boleh menambah overhed tambahan kepada infrastruktur IT kerana komunikasi mesti dibangunkan, dihantar, diperoleh dan diproses oleh program yang berkaitan. Kos tambahan ini boleh menjadi sangat mahal untuk program yang mesti memperdagangkan sejumlah besar maklumat atau mempunyai kependaman yang minimum.
Kerumitan - Pemesejan merumitkan program kerana ia memerlukan pengaturcara untuk menghasilkan dan melaksanakan protokol pemesejan dan menangani isu seperti penghalaan mesej, pesanan dan pengendalian ralat. Tahap verbositi boleh menjadikan aplikasi lebih sukar untuk difahami dan diteruskan, terutamanya bagi pengaturcara yang tidak biasa dengan pemesejan.
Nyahpepijat - Program pemesejan lebih sukar untuk diselesaikan daripada jenis program lain kerana menjadi lebih sukar untuk mengesan kemajuan komunikasi melalui sistem untuk mengesan punca ralat. Ini boleh menjadikannya lebih sukar untuk mengesan dan memulihkan serangga dalam program anda.
Keselamatan - Tugas pemesejan terdedah kepada kelemahan keselamatan, termasuk pemantauan komunikasi, pengubahsuaian atau penipuan. Pembangun mesti membangunkan proses pengesahan, penyulitan dan kebenaran yang sesuai untuk memastikan sistem selamat, yang menambah kerumitan tambahan kepada pelaksanaan.
Prestasi - Walaupun penghantaran mesej boleh meningkatkan prestasi aplikasi dan kebolehskalaan dalam sesetengah kes, ia juga boleh menjejaskan prestasi dalam kes lain. Sebagai contoh, jika program mesti kerap memindahkan sejumlah kecil data, kos tambahan untuk menghantar mesej mungkin melebihi faedah.
Akhir sekali, pemesejan ialah pendekatan yang berpengaruh kepada pembangunan aplikasi bersiri dan terdesentralisasi di Jawa. Penyahgandingan, konkurensi, toleransi kesalahan, skalabiliti dan kebolehoperasian hanyalah sebahagian daripada faedah. Walau bagaimanapun, ia juga mempunyai kelemahan tertentu, seperti overhed, kerumitan, kesukaran dalam penyahpepijatan, kelemahan keselamatan dan kemungkinan isu kecekapan.
Walaupun terdapat halangan ini, pemesejan masih merupakan cara yang berkesan untuk membangunkan program yang teguh dan boleh dipasarkan, terutamanya di mana kerjasama berat atau pengkomputeran teragih diperlukan
Atas ialah kandungan terperinci Pemesejan dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!