Serialisasi digunakan untuk ketekunan di Jawa. Mungkin oke untuk bertahan beberapa objek menggunakan serialisasi. Tapi, untuk sejumlah besar objek, ORM, Database dll mungkin lebih baik. Tampaknya serialisasi hanya berguna untuk pekerjaan kecil. Mungkin saya salah. Jadi tolong beri tahu saya apa kelebihan serialisasi daripada metode non-serialisasi? Kapan harus digunakan dan kapan harus dihindari?
Pertanyaan ini muncul di benak saya setelah melihat artikel DZone Is Serialization Object Evil?
Dan ini adalah baris yang memunculkan pertanyaan saya:
Jika Anda melihat Java dan objek sesi, serialisasi objek murni digunakan. Dengan asumsi bahwa sesi aplikasi berumur pendek, artinya paling banyak beberapa jam, serialisasi objek sederhana, didukung dengan baik dan dibangun ke dalam konsep sesi Java. Namun, ketika kegigihan data melebihi periode waktu yang lebih lama, mungkin berhari-hari atau berminggu-minggu, dan Anda harus khawatir tentang rilis baru aplikasi, serialisasi dengan cepat menjadi jahat. Seperti diketahui oleh pengembang Java yang baik, jika Anda berencana untuk membuat serial objek, bahkan dalam satu sesi, Anda memerlukan ID serialisasi nyata (serialVersionUID), bukan hanya 1L, dan Anda perlu mengimplementasikan antarmuka Serializable. Namun, sebagian besar pengembang tidak tahu aturan sebenarnya di balik proses deserialisasi Java. Jika objek Anda telah berubah, lebih dari sekadar menambahkan bidang sederhana ke objek, ada kemungkinan bahwa Java tidak dapat melakukan deserialisasi objek dengan benar walaupun ID serialisasi tidak berubah. Tiba-tiba, Anda tidak dapat mengambil data Anda lagi, yang pada dasarnya buruk.
Sekarang, semoga pengembang yang membaca ini mengatakan bahwa mereka tidak akan pernah menulis kode yang akan mengalami masalah ini. Itu mungkin benar, tetapi bagaimana dengan perpustakaan yang Anda gunakan atau pengembang lain yang tidak lagi dipekerjakan oleh perusahaan Anda? Bisakah Anda menjamin bahwa masalah ini tidak akan pernah terjadi? Satu-satunya cara untuk menjamin itu adalah dengan menggunakan metode serialisasi yang berbeda.
1L
' tidak benar.